我想使用INSERT OVERWRITE来提高性能,而不是删除并选择要加载到Delta表中的数据。 我有几个查询,例如
query1 =“在('{}','{}','{}','{}')中从asl_process.otr WHERE子字符串(Requested_delivery_d
,1,6)删除” .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)
问题是出现以下错误: INSERT OVERWRITE中的“ SyntaxError:无效语法”。
我在做什么错?这不喜欢我在表名之前拥有模式吗?。
答案 0 :(得分:0)
您在插入覆盖查询中提到了2 FROM子句