Оператор exists
не существует в Spark, но есть 2 операторы соединения , которые могут заменить его: left_anti
и left_semi
.
Если вы хотите, например,Чтобы вставить фрейм данных df
в таблицу кустов target
, вы можете сделать:
new_df = df.join(
spark.table("target"),
how='left_anti',
on='id'
)
, а затем написать new_df
в своей таблице.
left_anti
позволяет вамоставляйте только те строки, которые не удовлетворяют условию соединения (эквивалент not exists
).Эквивалент exists
равен left_semi
.