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 中提供了强大的数据处理功能,方便用户进行数据集成和处理操作。
评论