首页 > 其他分享 >数据仓库的ELT/ETL

数据仓库的ELT/ETL

时间:2024-04-11 10:59:41浏览次数:11  
标签:抽取 数据仓库 ETL 数据 ELT 加载

ETL 和 ELT 有很多共同点,从本质上讲,每种集成方法都可以将数据从源端抽取到数据仓库中,两者的区别在于数据在哪里进行转换。

01 ETL

ETL – 抽取、转换、加载

从不同的数据源抽取信息,将其转换为根据业务定义的格式,然后将其加载到其他数据库或数据仓库中。另一种 ETL 集成方法是反向 ETL,它将结构化数据从数据仓库中加载到业务数据库中,如我们常用数据仓库加工好的报表,推送到报表系统的数据库中。

数据仓库,ELT和ETL,数据抽取,数据转换,数据加载,数据处理

02 ELT

ELT – 抽取、加载、转换

同样的从一个或多个数据源中抽取数据,然后将其加载到目标数据仓库中,此时不需要进行数据格式的转换。在 ELT 过程中,数据的转换发生在目标数据仓库中。ELT 对远程资源的要求较少,只需要它们的原始数据即可。

数据仓库,ELT和ETL,数据抽取,数据转换,数据加载,数据处理

03 ELT的演变

ELT 已经存在了一段时间,但 Hadoop 等大数据技术出现后,更加活跃了。像以前转换 PB 级原始数据这样的大型任务无法处理,现在可以被分成小作业,进行处理,然后再加载到目标数据库中。同时,处理能力也提高了,尤其是以私有云集群的方式,把处理、加工数据可以在一个数据仓库中完成了。

04 ELT的工作原理

与 ETL 不同,ELT是从多个数据源收集信息,将其加载到数据仓库(或者数据湖)中,然后将其转换为可操作的商业智能的过程。

抽取——在ELT和ETL两种数据管理方法中的原理相似。一般我们会采用增量抽取,对于一些维表数据量比较小的也会采用全量抽取。

加载——这是 ELT 和 ETL 开始不同的地方了。ELT 不是在抽取大量原始数据的过程中将其转换,而是将所有数据都加在到湖仓中,然后统一进行转换,这样做加快了抽取的效率,但也意味着数据变得有用之前还有很多工作要做。

转换——数据湖或数据仓库对数据进行规范化,将部分或全部数据保留在湖仓中,并可用于定制报告。存储海量数据的开销更高,但也是为了后续能够更加快速的进行数据挖掘和报表展现,也就是我们常说的用空间换时间。

05 什么时候我们选择ELT

这取决于公司现有的网络和技术架构、预算以及它已经利用云和大数据技术的程度。如果是有下面三个需求场景时,那么ELT就是正确的选择~

1.当抽取速度是第一选择时

因为 ELT 不必等待数据在抽取过程中进行转换后再加载,那么抽取过程要快得多。

2.当需要随时访问原始数据时

有很多场景,我们需要保留所有历史数据,分析师可以根据时间、销售模式、季节性趋势或任何对业务变得重要的新兴指标进行挖掘。由于数据在加载之前未进行转换,因此您可以访问所有原始数据。比如,数据仓库一般都有一个原始数据层,很多数据科学家更喜欢访问原始数据,而业务用户更喜欢使用分析后的应用层或者模型层数据。

3.当需要随时可扩展数据湖仓时

当您使用 Hadoop 或云数据仓库等数据处理引擎时,ELT 可以利用本机处理能力实现更高的可扩展性。

06 数据湖是不是很好的ELT落脚点

首先,我们思考一下数仓为什么会出现?其实是数据量的飞速增长,以至于当时的数据存储计算引擎,不能很好的满足分析需求;于是数仓概念和经典的理论出现了,很好的解决了当时的问题,用“规范+存储”来解决了当时的问题。

那么现在大数据时代,随着技术的不断发展,很多新技术出现了,大批量的存储和计算不再是那么难了,那么我们放弃数仓那一套是否可行呢?从一哥现在处理的业务看,如果你的业务系统相对较单一,没有几十个业务系统每天往数仓里灌数据,那么数据湖可以满足你的需求,并且对于“数据驱动”更“敏捷”。如果一线的业务系统较复杂,那么现在使用数据湖也会一不小心会变成“数据沼泽”。

数据湖治理策略没有明确前,还不要急着就上数据湖,并不是适用于每个公司的业务场景的!

07 结语

ELT和ETL都有各自的应用场景,可以说现在大数据环境下,很多已经是ELT架构了,所以这也是我近几年一直不看好很多厂商在推“拖拉拽”的ETL工具或者平台,未来肯定是需要一种通用语言来实现所有的ELT过程。

参考

你真的了解数据仓库的ELT和ETL吗?

标签:抽取,数据仓库,ETL,数据,ELT,加载
From: https://blog.csdn.net/qq_38248841/article/details/137629558

相关文章

  • ETL工具-nifi干货系列 第十讲 处理器RouteOnAttribute(数据流路由)
    1、今天我们一起来学习下处理器RouteOnAttribute,此处理器的作用是根据属性值进行路由进而来控制数据流的走向。类似于java中的if-else或者switch-case。如下图所示。 GenerateFlowFile产生测试数据,{"name":"Javax小金刚","id":"2"}JoltTransformJSON转换json结构:{"person":......
  • ETL中Python组件的运用
    Python是一种高级、通用、解释型编程语言,以简洁、易读、易学的语法而闻名,被广泛应用于Web开发、数据科学、人工智能、自动化脚本等领域。 python的特点包含易读易学:Python的语法设计简洁清晰,类似英语,使得代码易读易懂,降低了学习门槛。动态类型:Python是一种动态类型语言,不需......
  • C++使用getline实现split的效果
    0.问题C++中并没有类似split的分隔符函数,如何自建一个呢?我们考虑使用getline来实现所需功能。1.代码#include<iostream>#include<string>#include<vector>#include<sstream>//使用字符串流将字符串分割成多个子串,并存储到vector中std::vector<std::string>split......
  • ETL工具-nifi干货系列 第十讲 处理器RouteOnAttribute使用教程,方便灵活控制数据流向
    1、今天我们一起来学习下处理器RouteOnAttribute,此处理器的作用是根据属性值进行路由进而来控制数据流的走向。类似于java中的if-else或者switch-case。如下图所示。 GenerateFlowFile产生测试数据,{"name":"Javax小金刚","id":"2"}JoltTransformJSON转换json结构:{"pers......
  • 地址治理-标准地址库动态更新ETL方案设计
    一个高质量的地址治理项目,背后必然有一份高质量的标准地址库。但是标准地址库的建设工作大量依赖人工作业,由此遗留下3大问题。首先,人工作业很多都是通过一个小区或者一个街道的扫雷式建设地址库,作业量非常大,成本非常高。关键是会产生大量项目中实际不会用到的地址。其次,人工作业......
  • ETL工具-nifi干货系列 第九讲 处理器EvaluateJsonPath,根据JsonPath提取字段
    1、其实这一节课本来按照计划一起学习RouteOnAttribute处理器(相当于java中的ifelse,switchcase控制语句),但是在学习的过程中遇到了一些问题。RouteOnAttribute需要依赖处理器EvaluateJsonPath,所以本节课我们一起来学习下EvaluateJsonPath处理器。如下图所示: 本节课的示例依然......
  • 解锁ETLCloud中Kettle的用法
    随着大数据时代的到来,数据的处理和管理成为各行各业不可或缺的一环。ETL(Extract-Transform-Load)工具作为数据处理的重要环节,扮演着将数据从源端抽取出来、经过转换处理,最终加载至目标端的关键角色。在众多ETL工具中,Kettle以其强大的功能和灵活的应用得到了广泛的应用。一、Kettle......
  • FJSP:蜣螂优化算法( Dung beetle optimizer, DBO)求解柔性作业车间调度问题(FJSP),提供MAT
    一、柔性作业车间调度问题柔性作业车间调度问题(FlexibleJobShopSchedulingProblem,FJSP),是一种经典的组合优化问题。在FJSP问题中,有多个作业需要在多个机器上进行加工,每个作业由一系列工序组成,每个工序需要在特定的机器上完成。同时,每个机器一次只能处理一个工序,且每个工......
  • MPAndroidChart setLabelRotationAngle bug
    MPAndroidChartsetLabelRotationAnglebug(应该包括其他关于修改x/ylabel的bug)库是好库,但就是不更新了。。bug描述:修改labelRotationAngle(setLabelRotationAngle()),手势缩放一下视图,才触发自动调整视图,会导致图表大小发生变化。用起来就是,第一次显示,label被截断,必须手动缩放一......
  • ETL工具之datax
    一、datax介绍DataX是由阿里巴巴集团开发的开源数据同步工具,用于实现大数据集群内数据的离线同步。它主要用于数据仓库的数据导入和导出,如将关系型数据库中的数据导入到Hadoop集群中,或者将Hadoop集群中的数据导出到关系型数据库中。DataX的主要特点包括:可扩展性:DataX支持多......