1. 概述编辑
1.1 版本
FineDataLink 版本 | 功能变更 |
---|---|
3.1 | 「数据转换」节点新增算子「数据关联」 |
1.2 应用场景
用户两张数据表在不同的数据库中,希望能够将两张不同来源库的表进行关联生成新表。
1.3 功能简介
「数据关联」算子可实现多表跨库关联的场景。界面如下图所示:
其中算子连接的关联方式共有四种。分别如下:
左连接(LEFT JOIN):左合并
右连接(RIGHT JOIN):右合并
内连接(INNER JOIN):取交集
全外连接(FULL OUTER JOIN):取并集
2. 示例编辑
本文演示一个简单示例:将两个不同数据库中的成绩表关联成一张新表。
2.1 准备数据
示例表数据下载:english.xls、math.xls
1)数据库 etlwendywai 中有一张英语成绩表:english。如下图所示:
2)数据库 etlwendywai 中有一张数学成绩表:math。如下图所示:
2.2 创建任务
新建一个 定时任务,将一个「数据转换」节点拖到设计界面,点击该节点打开设置界面。如下图所示:
2.3 设置数据输入
1)将一个「DB输入」算子拖到数据转换的设计界面,如下图设置数据来源,并右键节点将其重命名为「英语成绩表」。如下图所示:
2)再将一个「DB输入」算子拖到数据转换的设计界面,如下图设置数据来源,并右键节点将其重命名为「数学成绩表」。如下图所示:
2.4 设置连接
将一个「数据关联」算子拖到数据转换的设计界面,用线条跟两个上游节点「英语成绩表」和「数学成绩表」连起来。
点击「数据关联」节点,左表设置为「英语成绩表」,右表设置为「数学成绩表」,连接方式选择「左连接」,连接字段设置为「姓名」。如下图所示:
注:连接字段就是两张表的关联字段,可以设置多个,多个连接字段为且的关系。
配置好关联后,可以使用「数据预览」先看看表合并的效果:
2.5 设置数据输出
将一个「DB表输出」算子拖到数据转换的设计界面,用线条跟上游节点「数据关联」连起来,右键节点重命名为「保存到新表」。如下图所示:
2.6 运行节点
点击左上角「运行」,日志有执行成功信息表示任务成功运行。
可以看到数据库 demotest 中新增了一张表 ceshi6,里面保存的是任务左合并的数据。
3. 功能说明编辑
三张表进行数据关联,如下图所示:
1)第一步关联的左表和右表均为可选项。从第二步开始,左表不再是可选项,而是默认为上一步的连接结果,右表始终为可选项。
2)可以选择多个「连接字段」,多个「连接字段」为且的关系。
3)遇到同名字段,字段名后缀自动加1,格式为:column1、column2、column3