首页 > 其他分享 >ETL中双流合并和多流合并的区别

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

时间:2024-04-28 18:11:40浏览次数:18  
标签:join 双流 合并 多流 组件 数据 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中提供了强大的数据处理功能,方便用户进行数据集成和处理操作。

 

标签:join,双流,合并,多流,组件,数据,ETL
From: https://www.cnblogs.com/restcloud/p/18164247

相关文章

  • python多个txt合并
    txt数据是这样: 内容: #!usr/bin/envpython#-*-coding:utf-8-*-"""@author:Suyue@file:lianxi.py@time:2024/04/28@desc:"""#-*-coding:utf-8-*-#os模块中包含很多操作文件和目录的函数importos#适用于位置任意的情况,不要求同一目录下meragefile......
  • postgresql 多条记录合并一条,或取最新的一条数据
    将一个表中的某一列的多行数据拼接成一行一种方法SELECTperson_idASjob_no,string_agg(person_name,',')asstr_person_nameFROMpublic.tb_attendance_modelWHEREcreate_time>='2019-06-1700:00:00.000000'ANDcreate_time<'2020-0......
  • 抖音商单信息通过ETL工具快速同步
    一、抖音平台抖音是一款热门的短视频社交平台,拥有海量用户和高度活跃的商业生态。在抖音上,商家可以开设商铺并发布商品,消费者可以在平台上购买商品并获得优惠。同时,抖音也是一个广告平台,商家可以通过购买广告位来宣传产品。在这样一个大环境下,商家和消费者都需要保持良好的数据同......
  • js数组合并去重
    //数组去重//优化遍历数组法functionuniqueArr(array){varr=[];for(vari=0,l=array.length;i<l;i++){for(varj=i+1;j<l;j++)if(array[i].item_code===array[j].item_code)j=++i;r.push(array[i])......
  • 倾斜摄影三维模型数据在模型合并应用分析
    倾斜摄影三维模型数据在模型合并应用分析 在现代科技和数字化时代,倾斜摄影技术已经成为获取高精度三维模型数据的重要方法之一。倾斜摄影通过使用一组相机同时拍摄目标物体的多个角度,然后通过图像处理和计算机视觉算法,将这些图像融合成一个完整的三维模型。这种技术广泛应......
  • ETL工具-nifi干货系列 第十七讲 nifi Input Port&Out Port 实战教程
    1、端口(Port),包含输入端口(InputPort)和输出端口(OutPort )使用一个或多个处理组构建的数据流需要一种方式将处理组连接到其他数据流组件。处理组和处理组之间可以通过使用端口来进行连接。这里的端口和kettle中的步骤【复制记录到结果】、【从结果获取记录】是类似的功能。数据......
  • 36天【代码随想录算法训练营34期】第八章 贪心算法 part05( ● 435. 无重叠区间 ● 7
    435.无重叠区间classSolution:deferaseOverlapIntervals(self,intervals:List[List[int]])->int:count=0intervals.sort(key=lambdax:x[0])foriinrange(1,len(intervals)):ifintervals[i][0]<intervals[i-......
  • ETLCloud平台组件模版的使用技巧
    ETL工具介绍在ETLCloud平台中配备了各种不同的组件、模板、规则,用户可运用不同类型的组件来实现想要的业务流程。接下来直接进入平台组件模板的使用技巧说明吧。使用技巧1.组件复制平时在使用的时候,如果遇到要用到一个组件,需要再来个相同组件时,可以通过右键组件复制一个,里面......
  • el-table 合并单元格
    objectSpanMethod({row,column,rowIndex,columnIndex}){constlength=this.newlist[this.saveindex].data.newTable.length-this.newlist[this.saveindex].data.tag_list_all.length//新增:处理前两行前两列的合并if(rowIndex<......
  • 多个excel文件合并成一个
    https://blog.csdn.net/yswKnight/article/details/112861212'功能:把多个excel工作簿的第一个sheet工作表合并到一个excel工作簿的多个sheet工作表,新工作表的名称等于原工作簿的名称SubBooks2Sheets()'定义对话框变量DimfdAsFileDialogSetfd=Application.......