Как сделать левое внешнее соединение в spark sql?

Я пытаюсь сделать левое внешнее соединение в искре (1.6.2), и оно не работает. Мой SQL-запрос выглядит так:

sqlContext.sql("select t.type, t.uuid, p.uuid
from symptom_type t LEFT JOIN plugin p 
ON t.uuid = p.uuid 
where t.created_year = 2016 
and p.created_year = 2016").show()

Результат таков:

+--------------------+--------------------+--------------------+
|                type|                uuid|                uuid|
+--------------------+--------------------+--------------------+
|              tained|89759dcc-50c0-490...|89759dcc-50c0-490...|
|             swapper|740cd0d4-53ee-438...|740cd0d4-53ee-438...|

Я получил тот же результат, либо используя LEFT JOIN или LEFT OUTER JOIN (второй uuid не является нулевым).

Я ожидаю, что второй столбец uuid будет только нулевым. как правильно сделать левое внешнее соединение?

=== Дополнительная информация ==

Если я использовал dataframe, чтобы сделать левое внешнее соединение, я получил правильный результат.

s = sqlCtx.sql('select * from symptom_type where created_year = 2016')
p = sqlCtx.sql('select * from plugin where created_year = 2016')

s.join(p, s.uuid == p.uuid, 'left_outer')
.select(s.type, s.uuid.alias('s_uuid'), 
        p.uuid.alias('p_uuid'), s.created_date, p.created_year, p.created_month).show()

Я получил такой результат:

+-------------------+--------------------+-----------------+--------------------+------------+-------------+
|               type|              s_uuid|           p_uuid|        created_date|created_year|created_month|
+-------------------+--------------------+-----------------+--------------------+------------+-------------+
|             tained|6d688688-96a4-341...|             null|2016-01-28 00:27:...|        null|         null|
|             tained|6d688688-96a4-341...|             null|2016-01-28 00:27:...|        null|         null|
|             tained|6d688688-96a4-341...|             null|2016-01-28 00:27:...|        null|         null|

Спасибо,

Ответы на вопрос(3)

Ваш ответ на вопрос