как выполнить оператор NOT EXIST в искре

Теперь я преобразовываю запрос сервера sql в spark. Я столкнулся с проблемой преобразования данного запроса.

and not exists (Select 1 from @TT t2 where t2.TID = f.ID)

я работал над этим и понял, что искра не поддерживает команду «не существует», которую я использовал, за исключением того, что ошибка

pyspark.sql.utils.AnalysisException: u'Except can only be performed on tables with the same number of columns, but the left table has 7 columns and the right has 31;'

Я также пробовал операцию внутреннего соединения, за исключением того, что не работает с нечетным номером столбца таблицы. какой будет совместимый альтернативный запрос для этого запроса в spark, пожалуйста, помогите мне, я использую pyspark 2.0


person Kalyan    schedule 31.10.2016    source источник
comment
пожалуйста, предоставьте пример данных и ожидаемый результат, чтобы можно было воспроизвести ваш вопрос.   -  person mtoto    schedule 31.10.2016
comment
spark.sql(выберите f.id как TID, f.BldgID как TBldgID, f.LeaseID как TLeaseID, f.Period как TPeriod, f.ChargeAmt как TChargeAmt1,0 как TChargeAmt2, l.EXPIR как TBreakDate из Fact_CMCharges f присоединитесь к LEAS l на l.BLDGID = f.BldgID и l.LEASID = f.LeaseID и date_format(date_add(l.EXPIR,1),'D')‹›1 и f.Period=Expirvalue(l.EXPIR) и (l. VACATE имеет значение null или l.VACATE ›('выберите RunDate из RunDate')) где f.ActualProjected='Lease', кроме (выберите 1 из TT t2, где t2.TID = f.ID)).show() вот мой код хотя он грязный. я использовал команду, кроме команды для ожидания результата по вышеуказанному вопросу   -  person Kalyan    schedule 31.10.2016
comment
Пожалуйста, предоставьте минимальный набор данных и ожидаемый результат для вашего вопроса, вместо того, чтобы копировать нерелевантный код в комментарии.   -  person mtoto    schedule 31.10.2016
comment
к счастью, я решил свою проблему. Спасибо за ваш ответ :) нижеприведенная часть добилась цели .... кроме (выберите * из TT1 t2 левого полусоединения Fact_CMCharges f2 на t2.TID = f2.ID) .....   -  person Kalyan    schedule 01.11.2016


Ответы (1)


из искры 2.0 вы можете использовать соединение left_anti

person shorley    schedule 17.10.2020