0

我正在尝试将 t1 中的数据从我的 S3 雪管合并到 t2 中。与 t2 合并后,如何处理 t1 中的数据?我是删除 t1 中的数据还是有一些元数据作业跟踪器来确保相同的数据不会被合并多次?

4

1 回答 1

0

当您进行合并匹配时,您可以告诉合并如果找到匹配则更新,如果未找到匹配则插入。

请参阅下面的语法

merge into t1 using t2 on t1.t1key = t2.t2key
    when matched and t2.marked = 1 then delete
    when matched and t2.isnewstatus = 1 then update set val = t2.newval, status = t2.newstatus
    when matched then update set val = t2.newval
    when not matched then insert (val, status) values (t2.newval, t2.newstatus);

但理想情况下,一旦您从 T1 合并,最好截断,因为这样您的合并查询将在下次运行时执行更少的分区扫描,并且更新也将更少。

于 2020-10-26T06:44:58.257 回答