use*_*920 3 python hive apache-spark-sql pyspark airflow
我在 Hive 上有一个表,我正在尝试在该表中插入数据。
我正在从 SQL 获取数据,但我不想插入 Hive 表中已存在的 id。我正在尝试使用与不存在的情况相同的条件。我在 Airflow 上使用PySpark。
existsSpark 中不存在该运算符,但有 2 个连接运算符可以替代它:left_anti和left_semi。
例如,如果您想df在配置单元表中插入数据帧target,您可以执行以下操作:
new_df = df.join(
spark.table("target"),
how='left_anti',
on='id'
)
Run Code Online (Sandbox Code Playgroud)
然后你new_df在你的表中写下。
left_anti允许您仅保留不满足连接条件的行(相当于not exists)。相当于.existsleft_semi
| 归档时间: |
|
| 查看次数: |
11271 次 |
| 最近记录: |