用户两张数据表在不同的数据库中,希望能够将两张不同来源库的表进行关联生成新表。
「数据关联」算子可实现多表跨库关联的场景。界面如下图所示:
其中算子连接的关联方式共有四种。分别如下:
左连接(LEFT JOIN):左合并
右连接(RIGHT JOIN):右合并
内连接(INNER JOIN):取交集
全外连接(FULL OUTER JOIN):取并集
本文演示一个简单示例:将两个不同数据库中的成绩表关联成一张新表。
示例表数据下载:english.xls、math.xls
1)数据库 etlwendywai 中有一张英语成绩表:english。如下图所示:
2)数据库 etlwendywai 中有一张数学成绩表:math。如下图所示:
新建一个 ETL 任务,将一个「数据转换」节点拖到设计界面,点击该节点打开设置界面。如下图所示:
1)将一个「DB输入」算子拖到数据转换的设计界面,如下图设置数据来源,并右键节点将其重命名为「英语成绩表」。如下图所示:
2)再将一个「DB输入」算子拖到数据转换的设计界面,如下图设置数据来源,并右键节点将其重命名为「数学成绩表」。如下图所示:
将一个「数据关联」算子拖到数据转换的设计界面,用线条跟两个上游节点「英语成绩表」和「数学成绩表」连起来。
点击「数据关联」节点,左表设置为「英语成绩表」,右表设置为「数学成绩表」,连接方式选择「左连接」,连接字段设置为「姓名」,右键节点重命名为「数据左合并」。如下图所示:
注:连接字段就是两张表的关联字段,可以设置多个,多个连接字段为且的关系。
配置好关联后,可以使用「数据预览」先看看表合并的效果:
将一个「DB表输出」算子拖到数据转换的设计界面,用线条跟上游节点「数据左合并」连起来,右键节点重命名为「保存到新表」。如下图所示:
点击右上角「确定」,保存数据转换的设计。如下图所示:
回到 ETL 任务设计界面,点击右上角「保存并运行」,日志有执行成功信息表示任务成功运行。
可以看到数据库 etlwendywai 中新增了一张表 ceshi666,里面保存的是 ETL 任务左合并的数据。
三张表进行数据关联,如下图所示:
1)第一步关联的左表和右表均为可选项。从第二步开始,左表不再是可选项,而是默认为上一步的连接结果,右表始终为可选项。
2)可以选择多个「连接字段」,多个「连接字段」为且的关系。
3)遇到同名字段,字段名后缀自动加1,格式为:column1、column2、column3
问题描述:
数据库中的表字段和数据关联中获取的字段名称大小写不一致。
原因分析:
数据关联获取的字段名,是由上游节点数据预览结果而来。
若DB表从数据库获取表字段时,混淆了大小写,此处便会不一致。
解决方案:
检查数据关联上游节点的字段获取过程。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
Submitted successfully
Network busy