支持
脚本模式下的同步作业支持在同步数据之前对两张表进行 JOIN 操作,然后将 JOIN 后的结果同步到目标表中。无需将 JOIN 后的结果落表。
配置步骤:
SELECT * FROM table1 JOIN table2 ON table1.id = table2.id;
注意事项:
SELECT
语句显式指定目标表的列。示例:
以下示例展示如何使用脚本模式同步作业将两张表 table1
和 table2
JOIN 后的结果同步到目标表 table3
:
源端表:
table1:
id | name
1 | John
2 | Mary
table2:
id | age
1 | 20
2 | 25
目标端表:
table3:
id | name | age
脚本:
SELECT * FROM table1 JOIN table2 ON table1.id = table2.id;
执行结果:
table3:
id | name | age
1 | John | 20
2 | Mary | 25
如你所见,table3
中包含了 table1
和 table2
JOIN 后的结果,无需将 JOIN 后的结果落表。
同步任务一般不做数据处理 建议是把数据处理好存放在tmp表中 再同步。此答案整理自钉群“DataWorks交流群(答疑@机器人)”
源表中比目标表多了一个数据 执行脚本后 数据已同步过来 日志: 再看看导入的sql脚本 可 以看到只备份并导入了自己新加的那一条数据
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。