阿壮博客阿壮博客阿壮博客

etl什么意思

etl什么意思,ETL算法详解。高登网来告知相关信息,希望对您有所帮助。 **一、ETL定义 ** ETL是把业务系统的数据经过抽取、清洗转换以后载入到数据仓库的过程,目的是把公司里的分散、零乱、规范不统一的数据整合到一起,为企业的决策提供分析依据。 二、ETL算法导图 三、算法应用领域 这8种ETL算法,其中主要分为4类别,增量累加、拉锁算法是更符合数据仓库历史数据追踪的算法,但现实中基于业务及特性考虑,通常存有全删全插、增量累全算法的数据表应用。 四、算法详解 1、全删全插算法 用DML语句里的Delete/Insert实现逻辑,主要应用在维表、参数表、主档表载入上,即适合源表是全量数据表,该数据表领域模型仅需储存当前全新全量数据,不需追踪过往历史信息。 SQL代码模型: –流程1. 清除目标表 TRUNCATE TABLE <目标表名>; –流程2. 全量插进 INSERT INTO <目标表名> (字段1,***) SELECt 字段*** FROM <源表> ***JOIN <关联数据> WHERe ***; 2、增量累全算法 用Upsert实现逻辑,主要应用在参数表、主档表载入上,即源表可以是增量或全量数据表,目标表始终全新最全记录。 SQL代码模型: –流程1. 生成加工源表 Create temp Table <临时表> ***; INSERT INTO <临时表> (字段***) SELECt 字段*** FROM <源表> ***JOIN <关联数据> WHERe ***; — 流程2. 可利用Merge Into实现累全,当前也可以采用分步Delete/Insert或Update/Insert操作 Merge INTO <目标表> As T1 (字段***) Using <临时表> as S1 on (PK) when Matched then update set Colx = S1.Colx *** when Not Matched then INSERT (字段***) values (字段*** ); 3、增量累加 用Append实现逻辑,主要应用在流水表载入上,即每日产生的流水、事件数据,增加到目标表中保留全历史数据。流水表、快照表、统计分析表等均是通过该逻辑实现。 SQL代码模型: –流程1.插进目标表 INSERT INTO <目标表> (字段1***) SELECt 字段*** FROM <源表> ***JOIN <关联数据> WHERe ***; 4、全历史拉锁算法 拉链表定义:是一张至少存有PK字段、追踪变动的字段、开链日期、闭链日期组成的数据仓库ETL数据表。 拉链表优点:根据开链、闭链日期能够快速获取对应日期有效数据,对于追踪源系统非事件流水类表数据,拉锁算法发挥越大作用,源业务系统一般每日变化数据有限,通过拉锁加工能够大大降低每日打快照带来的空间花销,且不损失数据变化历史。 全历史拉链表算法实现逻辑:获取当前有效记录-获取当日源系统最新数据-根据PK字段核对当前有效记录与全新源表,更新目标表当前有效记录,开展闭链操作-根据全字段核对全新源表与当前有效记录,插进目标表。 SQL代码模型: –流程1. 获取当前有效记录 Insert into <临时表-开链-pre> (不含启闭链字段***) Select 不含启闭链字段*** From <目标表> Where 结束日期 =date'<最大日期>’; –流程2. 获取当日源系统最新数据 <源表临时表-cur> — 流程3 今日全部开链的数据,即包括今日全新插进、数据发生变化的记录 Insert Into <临时表-增量-ins> Select 不含启闭链字段*** From <源表临时表-cur> where (不含启闭链字段***) not in (Select 不含启闭链字段*** From<临时表-开链-pre>); — 4 今日需要闭链的数据,即今日发生变化的记录 Insert into <临时表-增量-upd> Select 不含启闭链字段***,开始时间 From <临时表-开链-pre> where (不含启闭链字段***) not in (Select 不含启闭链字段*** From<临时表-开链-cur> ); –流程5 更新闭链数据,即历史数据闭链(删掉-插进取代更新) DELETe FROM <目标表> WHERe (PK***) IN (Select PK*** From <临时表-增量-upd>) AND 结束日期=date'<最大日期>’; INSERT INTO <目标表> (不含启闭链字段***,开始时间,结束日期) Select 不含启闭链字段***,开始时间,date'<数据日期>’ From <临时表-增量-upd>; — 6 插进开链数据,即当日新增记录 INSERT INTO <目标表> (不含启闭链字段***,开始时间,结束日期) Select 不含启闭链字段***,date'<数据日期>’,date'<最大日期>’ From <临时表-增量-ins>; 5、增量拉锁算法 算法实现逻辑是获取上日开链数据-PK相同变化记录,关掉旧记录链,开启新记录链-PK不同,源表存有,新增开链记录。

增量拉锁,目的是跟踪数据增量变化历史,根据PK核对新拉一条开链数据。 SQL代码模型: — 流程1. 获取当前有效记录 Insert into <临时表-开链-pre> (不含启闭链字段***) Select 不含启闭链字段*** From <目标表> Where 结束日期 =date'<最大日期>’; –流程2. 获取当日源系统增量记录 <源表临时表-cur> — 流程3. 获取当日源系统新增记录 Insert into <临时表-增量-ins> Select 不含启闭链字段*** From <临时表-开链-cur> where (PK) not in (selectPKfrom <临时表-开链-pre>); –流程4. 获取当日源系统历史变化记录 Insert into <临时表-增量-upd> Select 不含启闭链字段*** From <临时表-开链-cur> inner join <临时表-开链-pre> on (PK 等价) where (变化字段 非等价); –流程5. 更新历史变化记录,关掉历史旧链,开启新链 update <目标表> AS T1 SET <变化字段 S1取值>,结束日期 = date'<数据日期>’ FROM <临时表-增量-upd> AS S1 WHERe ( ) AND T1.结束日期 =date'<最大日期>’ INSERT INTO <目标表> (不含启闭链字段***,开始时间,结束日期) SELECt 不含启闭链字段***,date'<数据日期>’,date'<最大日期>’ FROM <临时表-增量-upd>; –流程6. 插进全新开链数据 INSERT INTO <目标表> (不含启闭链字段***,开始时间,结束日期) SELECt 不含启闭链字段***,date'<数据日期>’,date'<最大日期>’ FROM <临时表-增量-ins>; 6、删改拉锁算法 算法实现逻辑是,获取上日开链数据-获取源表非删除记录-PK相同变化记录,关掉旧记录链,开启新记录链-PK核对,源表存有,新增开链记录-获取源表删除记录-PK核对,旧开链记录存有,关掉旧记录链。 SQL代码模型: — 流程1. 清理目标表 TRUNCATE TABLE <目标表>; — 流程2. 全量插进 INSERT INTO <目标表> (字段***) SELECt 字段*** FROM <源表> ***JOIN <关联数据> WHERe ***; 7、全量删改拉锁算法 算法实现逻辑是获取上日开链数据-获取源表非删除记录_PK相同变化记录,关掉旧记录链,开启新记录链-PK核对,源表存有,新增开链记录-获取源表删除记录-PK核对,旧开链记录存有,关掉旧记录链-PK核对,获取旧开链存有但源表不会有记录,关掉旧记录链;主要是利用业务字段追踪全量数据中包含删除掉变化历史。 SQL代码模型: — 流程1. 清理目标表 TRUNCATE TABLE <目标表>; — 流程2. 全量插进 INSERT INTO <目标表> (字段***) SELECt 字段*** FROM <源表> ***JOIN <关联数据> WHERe ***; 8、自拉锁算法 根据源表业务日期字段,和目标表开链、闭链日期核对,首尾相接,拖出全历史拉锁,主要将流水表数据转化成拉链表数据。 SQL代码模型: –流程1. 清理目标表 TRUNCATE TABLE <目标表>; –流程2. 全量插进 INSERT INTO <目标表> (字段***) SELECt 字段*** FROM <源表> ***JOIN <关联数据> WHERe ***; 在日常工作中全部数据表一般还会包含一些控制字段,即插进日期、更新日期、更新根源字段,这样对数据变化敏感数据仓库,可以进一步跟踪数据变化历史。 雅风网是一家创业点子共享平台,在这儿提供网络创业项目,以及引流推广、网络营销、实操案例分析,需要网上创业点子那就上雅风网,找项目,学推广就来雅风网!

1.文章《etl什么意思》援引自互联网,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删举报等反馈请点击此处

2.文章《etl什么意思》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://100248.com/baike/269274.html

相关推荐

清明节假期交通安全 清明节交通安全手抄报

清明节假期交通安全文章你走,他走,大家走,安全意识心中有;你让,他让,大家让,安全行路有保障。下面给大家分享一些关于清明节假期交通安全文章,

幼儿游玩交通安全 幼儿交通安全儿歌

幼儿游玩交通安全知识行走时要专心,注意周围情况,不要东张西望、边走边看书报或做其他事情,保障交通安全。下面给大家分享一些关于幼儿游玩交通安全

行车安全知识总结 驾驶员行车安全培训总结

2023行车安全知识总结同学们上学和放学的时候,正是一天中道路交通最拥挤的时候,人多车辆多,必须十分注意交通安全。下面给大家分享一些关于20

节假日游玩交通安全 节假日交通安全宣传标语

节假日游玩交通安全知识交通安全系万家,违法驾驶危害大。遵规守法谨慎行,家庭温馨需要它!下面给大家分享一些关于节假日游玩交通安全知识,希望能够

2023车辆行驶安全知识 游戏安全知识答题2023

2023车辆行驶安全知识分享交通安全很重要,遵规驾驶有速度,珍惜生命是成熟的思考表现,出入平安是最佳的日常。下面给大家分享一些关于2023车

五一交通安全提示

五一交通安全提示模板忠诚地守卫交通安全,一天又一天,执著地追逐幸福,一年又一年,交通安全知识平安大家。下面给大家分享一些关于五一交通安全提示

学生交通安全教育 学生交通安全教育心得体会

最新学生交通安全教育在道路上行走,要走人行道,没有人行道的道路,要靠路边行走,这是能最大程度保证交通安全的做法。下面给大家分享一些关于最新学

三月出行交通安全 交通安全出行歌

三月出行交通安全提醒要让爱车跑,车况要良好;开车别太快,系好安全带;出门要提前,堵车心不烦,交通安全要记牢。下面给大家分享一些关于三月出行交

赞 ()