作者:finedatalink
发布时间:2023.7.28
阅读次数:1,165 次浏览
当想要对分析对象做多角度分析时,需要用到不同方面的数据,如果这些数据存在于不同数据库,就需要使用数据融合工具。以下以FineDateLink为例,演示如何使用数据融合工具将存在于不同数据库的数据组合应用,实现数据跨库关联。
1.1 场景描述和预期效果
用户有两张表,存在不同的数据库中,表数据包含姓名和科目成绩,想要这两张表合并为一张表,且新增一列为科目成绩的总和,将最终数据输出到指定数据库中。
1.2 实现思路
先将两张成绩表通过「数据关联」算子合并为一张表,再通过「Spark SQL」算子实现新增列的效果,最后通过「DB表输出」算子输出表数据。
2.1 准备数据
示例数据表:chinese.xls、history.xls
两张表数据分别在两个数据库中,表数据如下图所示:
用户想让这两张表合并为一张表,且新增一列,新增一列的值为「语文成绩」和「历史成绩」的和。最终效果如下图所示:
2.2 数据跨库关联
2.2.1 创建任务
新建一个 ETL 任务,将一个「数据转换」节点拖到设计界面。如下图所示:
2.2.2 设置数据输入
1)点击「数据转换」节点进入设置页面。
2)将一个「DB输入」算子拖到数据转换的设计界面,如下图设置数据来源,并右键节点将其重命名为「语文成绩表」。如下图所示:
3)再将一个「DB输入」算子拖到数据转换的设计界面,如下图设置数据来源,并右键节点将其重命名为「历史成绩表」。如下图所示:
2.2.3 设置连接
将一个「数据关联」算子拖到数据转换的设计界面,用线条跟两个上游节点「语文成绩表」和「历史成绩表」连起来。
点击「数据关联」节点,左表设置为「语文成绩表」,右表设置为「历史成绩表」,连接方式选择「左连接」,连接字段设置为「姓名」,右键节点重命名为「数据左合并」。如下图所示:
注:连接字段就是两张表的关联字段,可以设置多个,多个连接字段为且的关系。
配置好关联后,可以在「数据预览」Tab页查看表合并的效果:
2.3 新增列-总成绩
想计算出每位同学语文成绩和历史成绩的和。
1)将 Spark SQL 算子拖到数据转换的设计界面,并使用线条跟它的上游「数据左合并」算子相连。如下图所示:
2)按照下图配置 Spark SQL 。语句为:SELECT `姓名` ,`语文成绩` ,`历史成绩` , `语文成绩` +`历史成绩` AS zonghe FROM 数据左合并。如下图所示:
注:表名为上游节点的名称;语句不能直接复制,「数据左合并」需点击生成。
「数据预览」Tab 下查看数据,如下图所示:
2.4 设置 DB 表输出
再将一个「DB表输出」算子拖到设计界面,并使用线条跟它的上游「Spark SQL」算子相连。
点击「DB表输出」算子对它进行设置。如下图所示:
点击「字段映射」,界面如下图所示:
注:如果想修改字段名,建议在「Spark SQL」算子后再添加个 字段设置 算子。
2.5 运行节点
1)点击右上角「确定」按钮。如下图所示:
2)回到 ETL 任务设计界面,点击右上角「保存并运行」,日志有执行成功信息表示任务成功运行。
可以看到表 chengji 的数据如下图所示:
以上就是数据融合工具实现数据跨库关联的全过程,在数字化时代下,大数据治理对企业数据建设的重要性不言而喻,然而实现的困难有时也让人望而却步,因此选择合适的技术和工具会达到事半功倍的效果。帆软FineDataLink——中国领先的低代码/高时效数据集成产品,能过为企业提供一站式的数据服务,通过快速连接、高时效融合多种数据,提供低代码Data API敏捷发布平台,帮助企业解决数据孤岛难题,有效提升企业数据价值。
数据集成平台产品更多介绍:www.finedatalink.com
上一篇: 某交通运输企业:机器数据实时获取、处理,提高联网隧道公路的运行情况的监控能力,对突发意外能够及时进行预警下一篇: 做数据工程师一定要掌握ETL的应用,3个实用ETL工具请收好!