文档章节

几款开源的 ETL 工具及 ELT 初探

编辑部的故事
 编辑部的故事
发布于 2017/02/08 16:27
字数 1520
阅读 8414
收藏 294

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

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

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

优秀的 ETL 工具

1、Apache Camel

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

主页:http://camel.apache.org/

2、Apache Kafka

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

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

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

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

  • 支持 Hadoop 并行数据加载。

主页:https://kafka.apache.org/

3、Apatar

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

主页:http://apatar.com/

4、Heka

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

主页:http://hekad.readthedocs.io/en/v0.10.0/

5、Logstash

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

主页:https://www.elastic.co/products/logstash

6、Scriptella

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

主页:http://scriptella.org/

7、Talend

Talend (踏蓝) 是第一家针对的数据集成工具市场的 ETL(数据的提取 Extract、传输 Transform、载入Load)开源软件供应商。Talend 以它的技术和商业双重模式为 ETL 服务提供了一个全新的远景。它打破了传统的独有封闭服务,提供了一个针对所有规模的公司的公开的,创新的,强大的灵活的软件解决方案。最终,由于 Talend 的出现,数据整合方案不再被大公司所独享。

主页:http://www.talend.com/

8、Kettle 

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

主页:http://kettle.pentaho.org/

ELT 初探

虽然 Stitch 也是一个 ETL 服务企业,但其 CEO 在 TechTarget 杂志的访谈中也称赞了 AWS Athena 服务,同时提出了从 ETL 转向 ELT 的需要。

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

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

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

更多内容,可参阅:ETL vs ELT: The Difference is in the How.

编译自:11 Great ETL Tools and the Case for Saying 'No' to ETL

责任编辑:开源中国 - 达尔文

© 著作权归作者所有

共有 人打赏支持
编辑部的故事

编辑部的故事

粉丝 1132
博文 248
码字总数 430523
作品 0
深圳
运营/编辑
加载中

评论(27)

天王盖地虎
天王盖地虎
只用过Datastage,不过听说kettle也很不错
登录-注册
登录-注册

引用来自“左崖花开”的评论

引用来自“HideHai”的评论

引用来自“lijianlin5206”的评论

引用来自“伪随机。”的评论

居然没kettle

+1

引用来自“wjxz_cy”的评论

+1

引用来自“窮兄急惡”的评论

+1

引用来自“尼古拉希”的评论

+1

引用来自“hcqenjoy”的评论

+1

引用来自“OSC首席捣蛋侠”的评论

+100

引用来自“kerneler”的评论

+1
+1 看到这文章,都想不到赞美kettle的词了。

+1

引用来自“竹隐江南”的评论

+1
+1
宇宙蒙面侠X
宇宙蒙面侠X
强烈建议加上 https://github.com/jumpmind/metl 试用过以后觉得秒杀上面所有
丶灯
丶灯

引用来自“丶灯”的评论

引用来自“丶灯”的评论

丶灯
丶灯

引用来自“丶灯”的评论

丶灯
丶灯
丶灯
丶灯

引用来自“管我O-O想啥”的评论

这些我都没听过,我只听过kettle,用起来很爽

+1
达尔文
达尔文
各位稍安勿躁,Kettle 已加上。:rose:
G7
G7
这些我都没听过,我只听过kettle,用起来很爽
竹隐江南
竹隐江南

引用来自“左崖花开”的评论

引用来自“HideHai”的评论

引用来自“lijianlin5206”的评论

引用来自“伪随机。”的评论

居然没kettle

+1

引用来自“wjxz_cy”的评论

+1

引用来自“窮兄急惡”的评论

+1

引用来自“尼古拉希”的评论

+1

引用来自“hcqenjoy”的评论

+1

引用来自“OSC首席捣蛋侠”的评论

+100

引用来自“kerneler”的评论

+1
+1 看到这文章,都想不到赞美kettle的词了。

+1
+1
几款开源的ETL工具及ELT初探

几款开源的ETL工具及ELT初探 作者:佚名来源:开源中国|2017-02-13 21:32 ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(lo...

yuanwx0328
2017/11/15
0
0
数据仓库技术概述(一看就是架构师写的,对我极其有用)

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于...

gulf
06/21
0
0
ETL 是什么?数据提取、转换和加载

提取、转换、加载(ETL)是一个成熟的过程,它使组织能够利用不同的数据,而不管数据驻留在何处或存储数据的格式如何。随着时间的推移,ETL随着业务需求的发展,支持NoSQL数据库中的流数据和非...

oschina
08/15
0
0
Kettle 与 Talend Open Studio 的 ETL 比较

Pentaho Data Integration (Kettle)是Pentaho生态系统中默认的ETL工具。通过非常直观的图形化编辑器(Spoon),您可以定义以XML格式储存的流程。在Kettle运行过程中,这些流程会以不同的方法...

ychenETL
2011/06/13
0
0
有没有想过 你的数据分析方法可能已经过时?

  【IT168 编译】信息时代,能吃到虫子的已不再是早起的鸟儿,而是那些数据驱动的、早起的鸟儿。像百度、阿里巴巴和腾讯这样的大公司,都在不断囤积数据,因为他们都知道数据是金灿灿的宝贝...

it168网站
2017/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

控件WebView显示网页

一、代码编写 (一)方法一:通过打开app直接打开指定网站 1.打开Android Stutio,新建一个工程,名为Sdca。注意,名称开头必须为大写。 2.添加WebView控件 打开app esactivity_main.xml添加...

lanyu96
27分钟前
2
0
WinRAR 去除弹窗广告

想要去除它,需要用到另外一个工具resource hacker,百度一下,下载它,工具很小,安装也简单。安装过后,找到winrar安装目录下的WinRAR.exe文件,右击选择 open useing resource hacker打开...

YunOu
40分钟前
2
0
Bash工作管理详解

Bash工作管理 Bash的工作是对具体任务的一个抽象表述,更确切的说是对管道的应用上的表述。Bash中的工作在形式上表现为一组相关进程或单个进程。工作进程组分为前台和后台,前台进程会对键盘...

小陶小陶
44分钟前
2
0
Qt那些事0.0.1

LIBS += -L$$PWD/lib/ -lStv1QMAKE_POST_LINK += $$QMAKE_COPY $$replace(PWD,"/","\\")\lib\Stv1.dll $$replace(OUT_PWD,"/","\\")\debug\Stv1.dll pro文件里,写起来按理说应该是轻松地......

Ev4n
54分钟前
2
0
如何正确的使用动态VPS(Linux)自动更换IP

背景 现在越来越多的人开始玩网赚项目,蚂蚁再小也是肉,薅羊毛的羊毛党越来越多,一些网赚项目也越来越受欢迎,但是一般的网赚项目都是要求真实用户的,所以要想获得大量的真实ip,一种动态...

bengozhong
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部