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

dataworks中merge into操作支持using多张source表吗?

dataworks中merge into操作支持using多张source表吗?

展开
收起
真的很搞笑 2023-08-07 19:29:40 189 0
2 条回答
写回答
取消 提交回答
  • 在DataWorks中,Merge操作是用于将源表的数据合并到目标表中的操作。在Merge操作中,使用的是Source表和Target表。目前,DataWorks不支持在Merge操作中使用多张Source表。只能使用一张Source表和一张Target表进行数据合并。如果需要合并多张Source表的数据,可以考虑使用其他方式,如使用Join操作或使用多个Merge操作来完成数据合并的需求。

    2023-08-10 08:02:36
    赞同 1 展开评论 打赏
  • 北京阿里云ACE会长

    DataWorks 中的 merge into 操作不支持使用多个 source 表。

    merge into 是指用新数据更新(修改或增量)目标表的过程,其基本语法格式为:

    sql
    Copy
    MERGE INTO 目标表 USING source_table ON 条件
    WHEN MATCHED THEN ...
    WHEN NOT MATCHED THEN ...
    在上述语法中,目标表只能使用一个 source_table 作为数据源。

    数据作用于USING source_table指定的那张表,不支持使用USING source_table1, source_table2等方式使用多个表。

    而一般情况下,如果需要从多张表汇总更新目标表的数据,可以使用以下方式:

    创建临时表
    sql
    Copy
    CREATE TABLE temp_table AS
    SELECT FROM source_table1
    UNION ALL
    SELECT
    FROM source_table2;
    使用临时表作为数据源
    sql
    Copy
    MERGE INTO 目标表
    USING temp_table ON 条件
    ...
    删除临时表
    DROP TABLE temp_table;

    上述方式相当于先将多张表的数据汇总到一个临时表,然后再使用这个临时表作为数据源进行 merge into 操作。

    2023-08-09 22:46:45
    赞同 展开评论 打赏

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

相关产品

  • 大数据开发治理平台 DataWorks
  • 热门讨论

    热门文章

    相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载

    相关实验场景

    更多