ETL中双流合并和多流合并的区别

一、ETL工具

ETLCloud数据集成平台集实时数据集成和离线数据集成以及API发布为一体的数据集成平台。与其他开源数据集成工具相比,采用轻量化架构、具有更快的部署速度、更快的数据传输速度、更低的运维成本,同时支持多租户的团队协作能力,能够满足企业各种复杂的数据处理需求。含有丰富的ETL操作相关的组件,通过拉取的方式来搭建流程,对于小白和非开发人员来说非常的友好。

今天我们要介绍两个在ETL过程中经常使用的组件,双流join合并组件和多流UnionAll合并组件。

二、组件演示

1、双流join合并组件

首先创建好流程,在数据运算组件中找到双流合并组件,顾名思义这个组件是将两边的数据流合并在一起,join就是我们sql语法中的内连接和外连接了,所以我们需要拉取两个输入组件,这里我们拉取库表输入组件,流程设计如下:

库表输入配置,只需要配置好相关数据源,选择库表,设置输入字段即可

双流join组件,点击组件打开配置页面,需要理解了sql语法中的join操作即可上手。

在join模式中有三个选项,分别是左连接,内连接,笛卡尔积,

  • LEFT JOIN 会返回左边表(左表)的所有行,以及右边表(右表)中与左表匹配的行。如果右表中没有匹配的行,则会返回 NULL 值。

  • INNER JOIN 是最常用的连接操作,它根据两个表之间的共同列的值将两个表进行连接。只返回符合连接条件的行,即两个表中通过连接条件关联起来的行。

  • 笛卡儿积是指将两个表中的每一行都与另一个表中的每一行进行组合,返回的结果集大小为两个表行数的乘积。

通过leftjoin举例说明,根据自己的需求决定左右表对应的数据流,

关联条件配置,即符合条件的数据就保留

字段配置可以决定哪些字段保留哪些去掉,A表合并后的数据将以此字段配置为准,没有配置在本字段列表中的字段将被删除

指定B表需要加入到A表中的字段,不需要加入的字段请删除

点击保存,运行结果如下,数据会根据我们所配置的输出。

2**、多流合并组件**

拉取多流Uinon合并组件,创建如下流程,多流合并组件相比双流join组件有两个不同点,一个是把多个流合并成一个流的数据,将不同节点的数据组合为新的数据。

打开多流Union合并配置页,可以发现就是单纯把需要的字段保留不需要的去掉,然后把多条流的数据合并输出。

字段配置中,我们选择我们需要的字段。

合并运行查看日志可以看出

双流join是会根据join条件而合并的,多流union会对每条流的数据进行字段合并,然后统一输出成新的数据。

三、总结

在ETL过程中经常使用的两个组件是双流join合并组件和多流UnionAll合并组件。

双流join合并组件:用于将两边的数据流合并在一起,支持左连接、内连接和笛卡尔积。用户可以根据需要选择左连接保留左表所有行、内连接返回符合条件的数据行,或笛卡尔积返回两表所有可能组合的行。配置简单直观,根据关联条件和字段配置进行数据合并,并输出结果。

多流UnionAll合并组件:用于将多个数据流合并成一个流的数据,将不同节点的数据组合为新的数据。用户可以选择需要的字段进行保留,然后将多条流的数据合并输出。在字段配置中选择所需字段,然后合并运行查看日志即可输出合并后的数据。

总的来说,双流join合并组件适用于根据条件合并数据流,而多流UnionAll合并组件适用于将多条流数据合并成一个新的数据流。这些组件在ETLCloud中提供了强大的数据处理功能,方便用户进行数据集成和处理操作。

相关推荐
geovindu18 小时前
SQL Data Sampling and Approximation Techniques using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
chaser&upper18 小时前
从 xParse 看企业 AI:业务知识如何进入工作流
人工智能·agent·数据处理·合合信息·textin xparse
程序员梅雨2 天前
【从零开始学习数据仓库 | 第一篇】:维度建模理论
大数据·数据仓库·学习·阿里云·数据分析
棣廷2 天前
初识数据仓库——数仓分层到DataX数据采集
数据仓库
棣廷2 天前
初识Hive(2)
数据仓库·hive·hadoop
geovindu3 天前
Pivoting and Unpivoting Data in SQL using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
数据库小学妹3 天前
OLAP数据库怎么选?看清OLTP、数仓、湖仓边界
数据仓库·mpp·列式存储·联机分析处理·数据库选型·olap数据库
程序 代码狂人3 天前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
天河归来3 天前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构