最新历史版本 :数据关联 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

[helpvideo]13444[/helpvideo]

1.1 版本

FineDataLink 版本功能变更
3.1
「数据转换」节点新增算子数据关联
4.2.10.1关联配置中新增「高级配置>输出字段」设置项,支持选择数据关联后输出的字段

1.2 应用场景

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

1.3 功能简介

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

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

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

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

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

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

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

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

1650449842596904.png

2. 操作步骤编辑

2.1 准备待关联表数据

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

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

示例表数据下载:english.xlsmath.xls

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

1647572963731127.png

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

1647572974324988.png

现希望将 english 表左关联 math 表。

2.2 读取待关联表数据

2.2.1 步骤

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

2)拖入DB表输入算子,读取 english 表数据。如下图所示:

27.png

3)可为该算子设置备注,备注读取的哪张表数据,便于之后任务运维与查看。如下图所示:

28.png

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

29.png

2.2.2 注意点

DB表输入算子中,默认抽取前 5000 行表数据进行后续计算;因此,后续的「数据关联算子中关联表数据时,只会取前 5000 行数据进行关联导致用户在「数据关联」算子中查看关联效果时,可能出现关联效果不准确的问题。但任务实际运行时,是会使用全量数据做关联操作的。

若用户希望「数据关联算子中查看关联效果时,结果准确,可在DB表输入算子的样本设置按钮中,读取全量数据。

详情请参见:数据开发数据量说明

33.png

2.3 关联配置

1)拖入数据关联算子,连接方式选择左连接,连接字段选择姓名;高级配置设置项中,设置将姓名、英语成绩、数学成绩输出。如下图所示:

16.png

设置项
说明
左表、右表

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

17.png

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

支持四种(详细说明请参见本文 1.3 节):

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

  • 右连接(RIGHT JOIN):也称为右合

  • 内连接(INNER JOIN):取交集

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

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

输出字段
4.2.10.1 及之后版本,新增「高级配置>输出字段」设置项,未选择时默认输出所有字段;选择字段后,则输出已选择的字段

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

18.png

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

32.png

2.4 输出数据

1)拖入DB表输出算子,将关联后的数据输出。如下图所示:

注:若不想输出某个字段,可在字段映射中取消该字段的映射。

2.png

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

2.5 效果查看

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

37.png

数据库数据如下图所示:

1722331420147119.png

2)点击「发布」按钮可将任务发布到 生产模式 。如下图所示:

37.png