开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

脚本模式下的同步作业 支持把两表join后同步出去吗?

脚本模式下的同步作业 支持把两表join后同步出去吗?(不落表)

展开
收起
滴滴滴~ 2023-03-29 15:39:44 200 0
3 条回答
写回答
取消 提交回答
  • 支持

    脚本模式下的同步作业支持在同步数据之前对两张表进行 JOIN 操作,然后将 JOIN 后的结果同步到目标表中。无需将 JOIN 后的结果落表

    配置步骤:

    1. 在创建同步作业时,选择 脚本模式
    2. 源端表目标端表 部分,分别选择要同步的两张表。
    3. 脚本 部分,编写 JOIN 语句。例如:
    SELECT * FROM table1 JOIN table2 ON table1.id = table2.id;
    
    1. 点击 保存

    注意事项:

    • JOIN 语句必须符合 SQL 语法。
    • JOIN 后的结果列必须与目标表中的列相匹配。如果目标表中没有 JOIN 后的所有列,则需要在脚本中使用 SELECT 语句显式指定目标表的列。
    • 如果 JOIN 后的结果集非常大,可能会导致脚本执行超时。建议在脚本中使用分页机制或其他优化技术。

    示例:

    以下示例展示如何使用脚本模式同步作业将两张表 table1table2 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 中包含了 table1table2 JOIN 后的结果,无需将 JOIN 后的结果落表。

    2024-02-28 17:54:27
    赞同 展开评论 打赏
  • 同步任务一般不做数据处理 建议是把数据处理好存放在tmp表中 再同步。此答案整理自钉群“DataWorks交流群(答疑@机器人)” image.png

    2023-03-30 09:08:15
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    源表中比目标表多了一个数据 执行脚本后 数据已同步过来 日志: 再看看导入的sql脚本 可 以看到只备份并导入了自己新加的那一条数据

    2023-03-29 15:46:06
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载