问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

etl的概念,etl和elt数据处理上的区别

发布网友 发布时间:2022-04-23 00:30

我来回答

2个回答

热心网友 时间:2022-04-07 21:40

对于做过 BI 开发的朋友,ETL 并不陌生,只要涉及到数据源的数据抽取、数据的计算和处理过程的开发,都是 ETL,ETL 就这三个阶段,Extraction 抽取,Transformation 转换,Loading 加载。

从不同数据源抽取数据 EXTRACTION ,按照一定的数据处理规则对数据进行加工和格式转换 TRASFORMATION,最后处理完成的输出到目标数据表中也有可能是文件等等,这个就是 LOADING。

再通俗一点讲,ETL 的过程就跟大家日常做菜一样,需要到菜市场的各个摊位买好菜,把菜买回来要摘一下,洗一洗,切一切最后下锅把菜炒好端到饭桌上。菜市场的各个摊位就是数据源,做好的菜就是最终的输出结果,中间的所有过程像摘菜、洗菜、切菜、做菜就是转换。

在开发的时候,大部分时候会通过 ETL 工具去实现,比如常用的像 KETTLE、PENTAHO、IBM DATASTAGE、INFORNAICA、微软 SQL SERVER 里面的 SSIS 等等,在结合基本的 SQL 来实现整个 ETL 过程。

也有的是自己通过程序开发,然后控制一些数据处理脚本跑批,基本上就是程序加 SQL 实现。

哪种方式更好,也是需要看使用场景和开发人员对那种方式使用的更加得心应手。我看大部分软件程序开发人员出身的,碰到数据类项目会比较喜欢用程序控制跑批,这是程序思维的自然延续。纯 BI 开发人员大部分自然就选择成熟的 ETL 工具来开发,当然也有一上来就写程序脚本的,这类 BI 开发人员的师傅基本上是程序人员转过来的。

用程序的好处就是适配性强,可扩展性强,可以集成或拆解到到任何的程序处理过程中,有的时候使用程序开发效率更高。难就难在对维护人员有一定的技术要求,经验转移和可复制性不够。

用 ETL 工具的好处,第一是整个 ETL 的开发过程可视化了,特别是在数据处理流程的分层设计中可以很清晰的管理。第二是链接到不同数据源的时候,各种数据源、数据库的链接协议已经内置了,直接配置就可以,不需要再去写程序去实现。第三是各种转换控件基本上拖拉拽就可以使用,起到简化的代替一部分 SQL 的开发,不需要写代码去实现。第四是可以非常灵活的设计各种 ETL 调度规则,高度配置化,这个也不需要写代码实现。

所以在大多数通用的项目中,在项目上使用 ETL 标准组件开发会比较多一些。

ETL 从逻辑上一般可以分为两层,控制流和数据流,这也是很多 ETL 工具设计的理念,不同的 ETL 工具可能叫法不同。

控制流就是控制每一个数据流与数据流处理的先后流程,一个控制流可以包含多个数据流。比如在数据仓库开发过程中,第一层的处理是ODS层或者Staging 层的开发,第二层是 DIMENSION维度层的开发,后面几层就是DW 事实层、DM数据集市层的开发。通过ETL的调度管理就可以让这几层串联起来形成一个完整的数据处理流程。

数据流就是具体的从源数据到目标数据表的数据转换过程,所以也有 ETL 工具把数据流叫做转换。在数据流的开发设计过程中主要就是三个环节,目标数据表的链接,这两个直接通过 ETL 控件配置就可以了。中间转换的环节,这个时候就可能有很多的选择了,调 SQL 语句、存储过程,或者还是使用 ETL 控件来实现。

有的项目上习惯使用 ETL 控件来实现数据流中的转换,也有的项目要求不使用标准的转换组件使用存储过程来调用。也有的是因为数据仓库本身这个数据库不支持存储过程就只能通过标准的SQL来实现。

我们通常讲的BI数据架构师其实指的就是ETL的架构设计,这是整个BI项目中非常核心的一层技术实现,数据处理、数据清洗和建模都是在ETL中去实现。一个好的ETL架构设计可以同时支撑上百个包就是控制流,每一个控制流下可能又有上百个数据流的处理过程。之前写过一篇技术文章,大家可以搜索下关键字 BIWORK ETL 应该在网上还能找到到这篇文章。这种框架设计不仅仅是ETL框架架构上的设计,还有很深的ETL项目管理和规范性控制器思想,包括后期的运维,基于BI的BI分析,ETL的性能调优都会在这些框架中得到体现。因为大的BI项目可能同时需要几十人来开发ETL,框架的顶层设计就很重要。

热心网友 时间:2022-04-07 22:58

ETL分别是“Extract”、“ Transform” 、“Load”三个单词的首字母缩写也就是“抽取”、“转换”、“装载”,但我们日常往往简称其为数据抽取。
ETL是BI/DW(商务智能/数据仓库)的核心和灵魂,按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。
ETL包含了三方面:
“抽取”:将数据从各种原始的业务系统中读取出来,这是所有工作的前提。
“转换”:按照预先设计好的规则将抽取得数据进行转换,使本来异构的数据格式能统一起来。
“装载”:将转换完的数据按计划增量或全部导入到数据仓库中。
与ETL相比,ELT的优点是转换的同时可以引用大量的数据。 缺点是可能仅仅抽取和装载了数据,跳过了转换过程。
有些ETL工具是先将数据从源抽取(E),装载(L)到目标数据库,再在目标数据库做转换(T),所以有些人给这类工具一个专门的名称叫ELT。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
老人多喝红茶可降低患帕金森症风险 陕西有什么好玩的地方景点推荐 货车倒卡换牌逃逸怎么处理 配置弘康相守健康2021重疾险有意义吗? 弘康相守健康2021有啥劣势? 怎么样把现金汇到个人帐户 急 中国银行可以用现金直接汇到账户吗 为什么即便是睡眠很充足还是有黑眼圈? 函数y=kx²-6x+3的图像与x轴有交点,则k的取值范围是 已知函数数y=mx²ㄧ6x+1(m是常数), 1.求证∶不论m为何值,该函数的... 堡垒之夜常见问题?该如何解决姐姐 解答 为什么堡垒之夜内存足够却点不了安装按钮 新浪微博热门评论是根据赞的多少排序的吧?可是为什么数字那么乱?例如热评第一条也不一定是点赞数最多的 堡垒之夜加载时偶尔会出现内存不能read,并不是每次都这样。 有人发微博,下面评论很多,怎样找到自己发的?(新浪) 笔记本显存不够怎么办我想玩堡垒之夜 - 信息提示 下载堡垒之夜时弹出来如下窗口,但明明磁盘有空间,求解决方法 我的电脑配置为什老是不能玩吃鸡和堡垒之夜,一玩就提醒什么内存分配不足,渲染啥的 新浪微博评论最多的是哪一条? 新浪微博为什么显示评论有3条点开只有一条,粉丝显示有4个点开却只有1个? 一条微博有多少评论可以出现热门评论? - 信息提示 新浪微博一个账号一天最多可以评论多少条?最多可以发多少条微博... 《堡垒之夜》蓝屏怎么办 新浪微博 哪条微博评论数最多 一开堡垒之夜磁盘占用率就到100% 堡垒之夜 我的磁盘空间明明足够就是安装不了怎么回事 磁盘空间明明够,为什么它说未检测到磁盘,堡垒之夜D盘80g不够吗? 为什么堡垒之夜现下载不了?我磁盘空间还有60多g呢 “etl”是什么? 开源的ETL产品有哪些? ETL什么意思 ETL的介绍 ETL的原理? ETL和ssis ssas ssrs是个什么关系? ETL工具主流产品有哪些? ETL 数据抽取 如何实现增量抽取 开源ETL工具比较,Kettle和Talend,都有什么优势和劣势? 什么是“ETL”? ETL kettle从上一步传来的参数怎么使用? qq怎么绑定安全邮箱? 面包车摆摊卖水果需要什么工具? 卖水果的营销方法有哪些? 我QQ密码保护+安全邮箱都忘记了!如何找回! 忘记了QQ密码保护的安全邮箱怎么办? 我QQ被盗了,我不知道我的安全邮箱了怎么办 QQ密码保护的的安全电子邮件地址!我忘了整么办? 卖水果的术语有哪些? 申请qq时绑定的安全邮箱,是否可以用密保问题与答案或身份证号找回或查看?