大etl数据转换elt工具适用哪些方面

提取转换和加载有助于组织使etl數据转换在不同的etl数据转换系统中可访问,有意义且可用ETL工具是用于提取,转换和加载etl数据转换的软件在当今etl数据转换驱动的世界中,无论大小如何都会从各种组织,机器和小工具中生成大量etl数据转换
在传统的编程方式中,ETL都提取并进行一些转换操作然后将转换後的etl数据转换加载到目标etl数据转换库文件等。为此需要用任何编程语言编写代码,如JavaC#,C++等为了避免更多编码和使用库,将通过拖放組件来减少工作量

ETL工具是一组用任何编程语言编写的库,它将简化我们的工作以便根据需要进行etl数据转换集成和转换操作。

例如在迻动设备中,每次浏览网页时都会生成一定数量的etl数据转换。商用飞机每小时可以生成高达500 GB的etl数据转换我们现在可以想一想,这些etl数據转换有多大这就是它被称为大etl数据转换的原因,但是在我们对它执行ETL操作之前这些etl数据转换是无用的。

在这里将介绍每个ETL过程。

1.提取:etl数据转换提取是ETL最关键的步骤涉及从所有存储系统访问etl数据转换。存储系统可以是RDBMSExcel文件,XML文件平面文件,索引顺序访问方法(ISAM)等提取是最关键的步骤; 它需要以不应影响源系统的方式设计。提取步骤确保每个项目的参数都有明确的标识无论其源系统如何。

2.转换:在管道中转换是下一个过程。在此步骤中分析聚合etl数据转换并将其应用于其上的各种功能,以将etl数据转换转换为所需的格式通常,方法用于转换etl数据转换转换,过滤排序,标准化清除重复,转换和验证各种etl数据转换源的一致性

3.加载: 在ETL的过程中,加载是最後阶段在此步骤中,处理的etl数据转换(提取和转换的etl数据转换)被加载到目标etl数据转换存储库即etl数据转换库。执行此步骤时应确保正确執行加载功能,但应使用最少的资源我们必须在加载时保持引用完整性,以便etl数据转换的一致性不会松散加载etl数据转换后,可以选择任何etl数据转换块并可以轻松地与其他etl数据转换进行比较。

所有这些操作都可以通过任何ETL工具高效执行

1. 为什么需要ETL工具?

etl数据转换仓库笁具包含来自不同来源的etl数据转换这些etl数据转换在一个地方组合以分析有意义的模式和洞察力。ETL处理异构etl数据转换并使其同质化这对etl數据转换科学家来说非常顺利。然后etl数据转换分析师分析etl数据转换并从中获取商业智能。

与传统的移动etl数据转换方法相比ETL更容易和更赽地使用,这涉及编写传统的计算机程序ETL工具包含一个图形界面,可以增加源etl数据转换库和目标etl数据转换库之间映射表和列的过程

ETL工具可以从多个etl数据转换结构以及不同平台(如大型机,服务器等)收集读取和迁移。它还可以在发生变化时识别“增量”变化使ETL工具能够僅复制已更改的etl数据转换而无需执行完整的etl数据转换刷新。

ETL工具包括即用型操作如过滤,排序重新格式化,合并和连接ETL工具还支持轉换调度,监控版本控制和统一元etl数据转换管理,同时一些工具与BI工具集成

使用ETL工具比使用将etl数据转换从源etl数据转换库移动到目标etl数據转换存储库的传统方法更有益。

使用ETL工具的优点是:

易用性:ETL工具的首要优点是易于使用该工具本身指定etl数据转换源以及提取和处理etl數据转换的规则,然后实现该过程并加载etl数据转换ETL消除了编程意义上的编码需求,我们必须编写程序和代码

运营恢复能力:许多etl数据轉换仓库都已损坏并产生运营问题。ETL工具具有内置的错误处理功能它可以帮助etl数据转换工程师构建ETL工具的功能,以开发成功且装备精良嘚系统

可视流程:ETL工具基于图形用户界面,提供系统逻辑的可视化流程图形界面帮助我们使用拖放界面指定规则,以显示流程中的etl数據转换流

适用于复杂etl数据转换管理情况:ETL工具有助于更好地移动大量etl数据转换并批量传输。在复杂规则和转换的情况下ETL工具简化了任務,这有??助于我们进行计算字符串操作,etl数据转换更改以及多组etl数据转换的集成

增强商业智能:ETL工具可改善etl数据转换访问并简化提取,转换和加载过程它改善了对直接影响战略和运营决策的信息的访问,这些决策基于etl数据转换驱动的事实ETL还使业务负责人能够检索基于特定需求的etl数据转换并根据这些需求做出决策。

推进etl数据转换分析和清理:与SQL中提供的相比ETL工具具有大量的清理功能。高级功能關注复杂的转换需求这通常发生在结构复杂的etl数据转换仓库中。

(重复)增强的商业智能:ETL工具改进了etl数据转换访问因为它简化了提取,轉换和加载的过程ETL有助于直接访问信息,从而影响战略和运营决策这些决策基于etl数据转换驱动的事实。ETL工具还使业务负责人能够根据其特定需求检索etl数据转换并相应地做出决策。

高投资回报:使用ETL工具可以节省成本使企业获得更高的收益。根据国际etl数据转换公司的研究发现这些实施收集的中位数5年投资回报率为112%,平均回报期为1.6年

性能:ETL平台的结构简化了构建高质量etl数据转换仓库系统的过程。┅些ETL工具带有性能增强技术如集群感知和对称多处理。

ETL工具提供各种功能以促进工作流程随着ETL工具的日益普及,etl数据转换仓库市场已經看到了不同的出现和商用设备的重要性

基于ETL工具的etl数据转换仓库使用临时区域,etl数据转换集成和访问层来执行其功能这是一个三层結构。

  • 暂存层:临时etl数据转换库或暂存层用于存储来自不同源etl数据转换系统的提取etl数据转换
  • etl数据转换集成层:集成层转换来自暂存层的etl數据转换并将etl数据转换移动到etl数据转换库。在etl数据转换库中etl数据转换被排列成层级组,称为维度事实和聚合事实。etl数据转换仓库系统Φ维度表和事件的组合称为模式
  • 访问层:最终用户使用访问层来检索分析报告或功能的etl数据转换。

加QQ群啦易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群

ETL是英文 Extract-Transform-Load 的缩写,用来描述将etl数據转换从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程ETL 是构建etl数据转换仓库的重要一环,用户从etl数据转换源抽取出所需的etl數据转换经过etl数据转换清洗,最终按照预先定义好的etl数据转换仓库模型将etl数据转换加载到etl数据转换仓库中去。

我们在下方列出了 7 款开源的 ETL 工具并讨论了从 ETL 转向“无 ETL”的过程,因为 ELT 正迅速成为现代etl数据转换和云环境的终极过程

注:原文包含 11 项 ETL 工具,本文提取了其中开源的 7 项另增加了一款使用普遍的 Kettle,如需对另外 4 项进行了解可点击文末链接进行查看。

Apache Camel 是一个非常强大的基于规则的路由以及媒介引擎该引擎提供了一个基于 POJO 的企业应用模式(Enterprise Integration Patterns)的实现,你可以采用其异常强大且十分易用的 API (可以说是一种 Java 的领域定义语言 Domain Specific Language)来配置其路甴或者中介的规则 通过这种领域定义语言,你可以在你的 IDE 中用简单的 Java Code 就可以写出一个类型安全并具有一定智能的规则描述文件

Apache Kafka 是一个開源的消息系统,用 Scala 和 Java 写成该项目为处理实时etl数据转换提供了一个统一、高通量、低延时的平台。有如下特性:

  • 通过 O(1) 的磁盘etl数据转换结構提供消息的持久化这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

  • 高吞吐量:即使是非常普通的硬件 kafka 也可以支持每秒数十万的消息

  • 支持通过 kafka 服务器和消费机集群来分区消息。

  • 支持 Hadoop 并行etl数据转换加载

Apatar 用 Java 编写,是一个开源的etl数据转换抽取、转换、 装载(ETL)项目模块化的架构。提供可视化的 Job 设计器与映射工具支持所有主流etl数据转换源,提供灵活的基于 GUI、服务器和嵌入式的部署选项咜具有符合 Unicode 的功能,可用于跨团队集成etl数据转换填充etl数据转换仓库与etl数据转换市场,在连接到其他系统时在代码少量或没有代码的情况丅进行维护

来自 Mozilla 的 Heka 是一个用来收集和整理来自多个不同源的etl数据转换的工具,通过对etl数据转换进行收集和整理后发送结果报告到不同的目标用于进一步分析

Logstash 是一个应用程序日志、事件的传输、处理、管理和搜索的平台。你可以用它来统一对应用程序日志进行收集管理提供 Web 接口用于查询和统计。Logstash 现在是  家族成员之一

Scriptella 是一个开源的 ETL (抽取-转换-加载)工具和一个脚本执行工具,采用 Java 开发Scriptella 支持跨etl数据转换庫的 ETL 脚本,并且可以在单个的 ETL 文件中与多个etl数据转换源运行Scriptella 可与任何 JDBC / ODBC 兼容的驱动程序集成,并提供与非 JDBC etl数据转换源和脚本语言的互操作性的接口它还可以与 Java

服务提供了一个全新的远景。它打破了传统的独有封闭服务提供了一个针对所有规模的公司的公开的,创新的強大的灵活的软件解决方案。最终由于 Talend 的出现,etl数据转换整合方案不再被大公司所独享

Kettle 是一款国外开源的 etl 工具,纯 java 编写绿色无需安裝,etl数据转换抽取高效稳定(etl数据转换迁移工具)Kettle 中有两种脚本文件,transformation 和 jobtransformation 完成针对etl数据转换的基础转换,job 则完成整个工作流的控制

在他看来,“无 ETL”即 ETL 过程由提取()加载(),变换()代替其中etl数据转换变换根据下游使用的需要而在 SQL 中进行,而不是在加载阶段期间他承认 ETL 公司来推广 ELT 概念有点让人匪夷所思,但他解释了这么做的好处

“使用 Athena,你可以从etl数据转换源中提取etl数据转换经过少量或不加載预处理后进行加载。 这种风格的 ELT 是大多数使用案例的优秀模型因为它能产生更简单的架构,使分析人员更好地了解原始etl数据转换的变換过程”。

使用 ELT 方法在提取完成之后,etl数据转换加载会立即开始而不用等待“恰当的”etl数据转换变换操作。 转换还可以在查询时运荇比 ETL 更省时,因为 ETL 需要用户等待转换完成 ELT 允许 BI 用户和分析人员无限制地访问整个原始etl数据转换,为用户提供了更大的灵活性使之能哽好地支持该业务。

ETL是etl数据转换仓库中的非常重要的┅环是承前启后的必要的一步。ETL负责将分布的、异构etl数据转换源中的etl数据转换如关系etl数据转换、平面etl数据转换文件等抽取到临时中间层後进行清洗、转换、集成最后加载到etl数据转换仓库或etl数据转换集市中,成为联机分析处理、etl数据转换挖掘的基础下面给大家介绍一下什么是ETL以及ETL常用的三种工具(Datastage,InformaticaKettle)!

的缩写,用来描述将etl数据转换从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程(etl数據转换仓库结构)通俗的说法就是从etl数据转换源抽取etl数据转换出来,进行清洗加工转换然后加载到定义好的etl数据转换仓库模型中去。目嘚是将企业中的分散、零乱、标准不统一的etl数据转换整合到一起为企业的决策提供分析依据。ETL是BI项目重要的一个环节其设计的好坏影響生成etl数据转换的质量,直接关系到BI项目的成败

2.为什么要用ETL工具?

? 当etl数据转换来自不同的物理主机这时候如使用SQL语句去处理的话,僦显得比较吃力且开销也更大

? etl数据转换来源可以是各种不同的etl数据转换库或者文件,这时候需要先把他们整理成统一的格式后才可以進行etl数据转换的处理这一过程用代码实现显然有些麻烦。

? 在etl数据转换库中我们当然可以使用存储过程去处理etl数据转换但是处理海量etl數据转换的时候存储过程显然比较吃力,而且会占用较多etl数据转换库的资源这可能会导致etl数据转换资源不足,进而影响etl数据转换库的性能

上面所说的问题,我们用ETL工具就可以解决它的优点有:

● 支持多种异构etl数据转换源的连接。(部分)

● 图形化的界面操作十分方便

● 处理海量etl数据转换速度快、流程更清晰等。

都是属于比较简单易用主要是开发人员对于工具的熟练程度。Informatica有四个开发管理组件开發的时候我们需要打开其中三个进行开发,Informatica没有ctrl+z的功能如果对job作了改变之后,想要撤销返回到改变前是不可能的。相比Kettle跟Datastage在测试调试嘚时候不太方便Datastage全部的操作在同一个界面中,不用切换界面能够看到etl数据转换的来源,整个job的情况在找bug的时候会比Informatica方便。Kettle介于两者の间

Kettle只需要JVM环境,Informatica需要服务器和客户端安装而Datastage的部署比较耗费时间,有一点难度

大etl数据转换量下Informatica 与Datastage的处理速度是比较快的,比较稳萣Kettle的处理速度相比之下稍慢。

Informatica与Datastage有很好的商业化的技术支持而Kettle则没有。商业软件的售后服务上会比免费的开源软件好很多

风险与成夲成反比,也与技术能力成正比

Kettle的扩展性无疑是最好,因为是开源代码可以自己开发拓展它的功能,而Informatica和Datastage由于是商业软件基本上没囿。

三者都有监控和日志工具在etl数据转换的监控上,个人觉得Datastage的实时监控做的更加好可以直观看到etl数据转换抽取的情况,运行到哪一個控件上这对于调优来说,我们可以更快的定位到处理速度太慢的控件并进行处理而informatica也有相应的功能,但是并不直观需要通过两个堺面的对比才可以定位到处理速度缓慢的控件。有时候还需要通过一些方法去查找

多张表同步、重复的操作:在项目中,很多时候我们嘟需要同步生产库的表到etl数据转换仓库中一百多张表同步、重复的操作,对开发人员来说是细心和耐心的考验在这种情况下,开发人員最喜欢的工具无疑是kettle多个表的同步都可以用同一个程序运行,不必每一张表的同步都建一个程序而informatica虽然有提供工具去批量设计,但還是需要生成多个程序进行一一配置而datastage在这方面就显得比较笨拙。

增量表:在做增量表的时候每次运行后都需要把将最新的一条etl数据轉换操作时间存到etl数据转换库中,下次运行我们就取大于这个时间的etl数据转换Kettle有控件可以直接读取etl数据转换库中的这个时间置为变量;對于没有类似功能控件的informatica,我们的做法是先读取的etl数据转换库中的这个时间存到文件然后主程序运行的时候指定这个文件为参数文件,吔可以得到同样的效果

有一句话说的好:世上没有最好的,只有适合的!每一款ETL工具都有它的优缺点我们需要根据实际项目,权衡利弊选择适合的ETL工具合适的就是最好的。当下越来越多公司及其客户更重视最新的etl数据转换(实时etl数据转换)展现传统的ETL工具可能满足鈈了这样的需求,而实时流etl数据转换处理和云计算技术更符合所以我们也需要与时俱进,学习大etl数据转换时代下的ETL工具

我要回帖

更多关于 主流etl工具 的文章

 

随机推荐