我有一个在 Azure Databricks 中转换为 Spark df 的数据框,然后是一个临时视图:
spark_df = spark.createDataFrame(df)
spark_df.createOrReplaceTempView("myTemp")
我使用以下方法将列插入到现有表中:
spark.sql(
f"""MERGE INTO prp_b901_group_work.test_cg_policies_multiple_delta AS m
USING temp_table AS s
ON m.id = s.id
WHEN MATCHED THEN INSERT (m.premium_usd, m.limit_usd) VALUES (s.premium_usd, s.limit_usd)"""
)
所以基本上的目的是将源自
spark_df
(s.colnew_1, s.colnew_2
)的列用于表x.y
(x - 数据库;y - 表)。两个数据源在“id”上匹配。
但是报错信息是:
ParseException:
[PARSE_SYNTAX_ERROR] Syntax error at or near 'INSERT'(line 4, pos 18)
哪里出错了?