1 概述

1.1 版本

服务器版本
v7.4.0及之后版本

1.2 应用场景

用户两张数据表在不同的数据库中,希望能够将两张不同来源库的表进行关联生成新表。

1.3 业务场景

在零售行业,企业通常拥有多个业务系统(如ERP、CRM、POS、电商平台等),数据分散且标准不一。数据中台通过主数据管理(MDM)统一用户ID、商品ID等关键数据,确保数据一致性。例如,同一用户在不同渠道的购买记录被关联到同一用户ID下。

1.4 功能简介

数据关联可实现多表跨库关联的场景。

关联方式支持四种。分别如下:

1)左连接(LEFT JOIN):也称为左合并。

以左边的表为基础,将右边的表中与之匹配的数据行加入结果集,如果右边的表中没有匹配的数据,则用 null 填充相应的列。

2)右连接(RIGHT JOIN):也称为右合并。

以右边的表为基础,将左边的表中与之匹配的数据行加入结果集,如果左边的表中没有匹配的数据,则用 null 填充相应的列。

3)内连接(INNER JOIN):取交集。

4)全外连接(FULL OUTER JOIN):取并集。

2 示例

2.1 准备待关联表数据

「数据关联」组件支持多表跨库关联。用户可准备 2 张及以上表数据,进行关联操作。

本文示例中,准备两张表数据,进行关联。

1)英语成绩表数据如下图所示:

2)数学成绩表数据如下图所示:

现希望将数学成绩表左关联英语成绩表进行展示,如下图所示:

2.2 读取待关联表数据

1)新建定时任务,拖入「数据转换」节点,进入「数据转换」节点。

2)拖入「DB表输入」组件,读取数学成绩表数据。如下图所示:

3)可为该组件设置备注以及重命名,便于之后任务运维与查看。如下图所示:

4)同理,再拖入一个「DB表输入」算子,读取英语成绩表数据,并备注读取的哪张表数据。如下图所示:

2.3 设置关联

1)拖入「数据关联」组件,连接方式选择左连接,连接字段选择姓名。如下图所示:

需注意:

  • 若关联两张表数据,左表、右表均为可选项;若关联两张以上表数据,从第二次关联开始,左表不再是可选项,而是默认为上一步的连接结果,右表始终为可选项。

  • 可以选择多个「连接字段」,多个「连接字段」为且的关系。

  • 遇到同名字段,字段名后缀自动加1,格式为:column1、column2、column3。

  • 若连接方式选择左连接/右连接时,请确认好左表和右表是否正确(A表左关联B表,与B表左关联A表,关联逻辑是不同的)。

2)点击「数据预览」,效果如下图所示:

需注意:

用户若想删除姓名1列,可在数据输出时,取消姓名1列的映射(参考本文 2.4 节内容);或者后接一个「字段设置」算子(该算子也支持修改字段类型),删除姓名1列。

2.4 输出数据

1)拖入「DB表输出」算子,将关联后的数据输出,取消姓名1列的映射。如下图所示:

2)写入方式选择「追加写入数据」。

2.5 效果查看

1)任务运行成功后,日志如下图所示:

数据库数据如下图所示:

作者:倪  创建时间:2025-04-30 09:13
最后编辑:倪  更新时间:2025-05-26 10:12