1. 概述
1.1 版本
FineDataLink 版本 | 功能变更 |
---|---|
4.1.0 | 新增「上下合并」算子,可对多张表进行上下行合并,输出一张合并表 |
4.1.6.1 | 修改合并结果字段名称后,若再修改合并的数据表字段,不影响合并结果字段名,详情参见本文 3.1 节 |
1.2 应用场景
用户存在多个业务系统的表数据,这些表数据中存在相同字段或相同含义的字段,需要将不同的来源数据上下合并到一个表输出。用户目前使用「Spark SQL」算子实现,比较繁琐,希望能无代码实现。
1.3 功能简介
新增「上下合并」算子,可对多张表进行上下行合并,输出一张合并表。如下图所示:
注:「上下合并」算子可手动匹配相同含义的字段进行拼接,并不要求匹配字段完全一致。
2. 示例
2.1 准备数据
示例表数据下载:签约表示例数据.zip
某公司存在两张签约数据表,希望能将数据合并到一张表中方便后续分析。
2.2 读取要合并的数据
1)新建定时任务,拖入「数据转换」节点,进入「数据转换」节点。
2)拖入「DB表输入」算子,读取「签约表-北京」数据。如下图所示:
2)再拖入一个「DB表输入」算子,读取「签约表-上海」数据。如下图所示:
2.3 上下合并表数据
1)拖入「上下合并」算子,与两个「DB表输入」连接。如下图所示:
2)此时「上下合并」算子设置界面如下图所示:
合并方式选择「合并去重」,不保留不同合并表中的重复记录。
FDL 会自动匹配一致的字段,字段若不一致,需要将相同含义的字段进行手动匹配。第三行中,合同总价列,选择合同总价(人民币)字段;销售地区列,选择签约地区。最后效果如下图所示:
3)点击「数据预览」,如下图所示:
2.4 输出数据
1)拖入「DB表输出」算子,将合并后的数据输出。如下图所示:
2)点击右上角「保存」按钮。
2.5 效果查看
点击「保存并运行」按钮,运行成功后,如下图所示:
数据库表数据如下图所示:
3. 功能说明
3.1 详细说明
「上下合并」算子设置界面如下图所示:
设置项 | 说明 | |
---|---|---|
合并方式 | 可选择合并去重、合并不去重 合并去重:不同合并表有重复记录,仅保留一条记录,其余不保留 合并不去重:在合并表时,保留两张表的所有记录 | |
字段映射 | 映射方式 | 同名映射:字段名相同字段进行匹配,支持模糊匹配;逻辑与「数据同步」节点字段映射(同名映射)逻辑相同 顺序映射:按照合并表的字段顺序进行映射,逻辑与「数据同步」节点字段映射(同行映射)逻辑相同 |
自动映射 |
「合并结果」行中,可修改合并后字段名称 4.1.6.1 版本开始,修改合并结果字段名称后,若再修改合并的数据表字段,不影响合并结果字段名。 注:字段映射中不支持显示、修改字段类型,用户可在「上下合并」算子后接一个「字段设置」算子,修改字段类型 | |
手动修改映射 |
| |
重新获取按钮 | 点击即可刷新,还原到原始配置 |
「数据预览」Tab 页中,默认预览前 1000 条数据,每页默认 20 条数据。
3.2 特殊场景说明
用户若希望两个相同名称的字段在上下合并时不合并,手动修改映射,将某张合并表的字段改为空即可。如下图所示: