与其删除和选择要加载到增量表中的数据,不如出于性能目的使用插入覆盖。 我有几个疑问,例如
query1 = "DELETE from asl_process.otr WHERE substring(Requested_delivery_d
,1,6) in ('{}' , '{}' , '{}' , '{}')".format(month_M1, month, month_P1, month_P2) ;
query2 = "从 asl_process.otr 中删除 子字符串(Requested_delivery_d
,1,6) in (从df_otrcurr中选择不同的子字符串(Requested_delivery_d
,1,6) )
我想总结一下。
我尝试在 sql 语句中重写 2 个查询,例如:
%sql
INSERT OVERWRITE TABLE asl_process.otr
PARTITION(Ord_Planned_GI_date)
SELECT * FROM asl_process.otr
WHERE substring(`Requested_delivery_d`,1,6) < > ('month_M1', 'month', 'month_P1', 'month_P2')
AND substring(`Requested_delivery_d`,1,6) < > (select distinct substring(`Requested_delivery_d`,1,6) from df_otrcurr)
问题是我收到以下错误: "语法错误:无效语法"在插入覆盖。
我做错了什么?不喜欢我在表名之前有架构?..
您在插入覆盖查询中提到了 2 个 FROM 子句