开源ETL工具比较,Kettle和Talend,都有啥优势和劣势

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源ETL工具比较,Kettle和Talend,都有啥优势和劣势相关的知识,希望对你有一定的参考价值。

Pentaho Data Integration (Kettle)是Pentaho生态系统中默认的ETL工具。通过非常直观的图形化编辑器(Spoon),您可以定义以XML格式储存的流程。在Kettle运行过程中,这些流程会以不同的方法编译。用到的工具包括命令行工具(Pan),小型服务器(Carte),数据库存储库(repository)(Kitchen)或者直接使用IDE(Spoon)。

Talend Open Studio是 Talend 开发的ETL工具——Talend 是一家主营数据集成和数据管理解决方案的企业。Talend 采用用户友好型,综合性很强的IDE(类似于Pentaho Kettle 的 Spoon)来设计不同的流程。这些流程可以在IDE内部测试并编译成Java 代码。您可以随时查看并编辑生成的Java代码,同时实现强大的控制力和灵活性。

两者都非常优秀,都属于用户友好型的交叉平台(基于Java的)工具。它们的主要差异在于Kettle 将 ELT 流程编译为 XML 格式,然而Talend Open Studio 则生成 Java 代码。

易用性:
Talend:有 GUI 图形界面但是以 Eclipse 的插件方式提供。
Kettle:有非常容易使用的 GUI,出现问题可以到社区咨询。

技术支持:
Talend:主要在美国
Kettle:在美国,欧洲(比利时,德国,法国,英国),亚洲(中国,日本,韩国)都可以找到相关技术支持人员。

部署:
Talend:创建 java 或perl 文件,并通过操作系统调度工具来运行
Kettle:可以使用 job 作业方式或操作系统调度,来执行一个转换文件或作业文件,也可以通过集群的方式在多台机器上部署。

速度:
Talend:需要手工调整,对特定数据源有优化知识。
Kettle:比 Talend 快,不过也需要手工调整,对 Oracle 和 PostGre 等数据源做了优化,同时也取决于转换任务的设计。

数据质量:
Talend:在 GUI 里有数据质量特性,可以手工写 SQL 语句。
Kettle:在 GUI 里有数据质量特性,可以手工写 SQL 语句、java脚本、正则表达式来完成数据清洗。

监控:
Talend:有监控和日志工具
Kettle:有监控和日志工具

连接性:
Talend:各种常用数据库,文件,web service。
Kettle:非常广泛的数据库,文件,另外可以通过插件扩展
参考技术A

几种 ETL 工具的比较(Kettle,Talend,Informatica,DataPipeline等)

四种工具的比较主要从以下几方面进行比对:

1、成本:

软件成本包括多方面,主要包括软件产品, 售前培训, 售后咨询, 技术支持等。

开源产品本身是免费的,成本主要是培训和咨询,所以成本会一直维持在一个较低水平。

商业产品本身价格很高,但是一般会提供几次免费的咨询或支持,所以采用商用软件最初成本很高,但是逐渐下降。

手工编码最初成本不高,主要是人力成本,但后期维护的工作量会越来越大。


2、易用性:

DataPipeline: 有非常容易使用的 GUI,具有丰富的可视化监控;

Kettle: GUI+Coding;

Informatica: GUI+Coding,有GUI,但是要专门的训练;

Talend:GUI+Coding,有 GUI 图形界面但是以 Eclipse 的插件方式提供;

3、技能要求:

DataPipeline:操作简单,无技术要求;

Kettle: ETL设计, SQL, 数据建模 ;

Informatica: ETL设计, SQL, 数据建模;

Talend:需要写Java;

4、底层架构:

DataPipeline:分布式,可水平扩展;

Kettle:主从结构非高可用;

Informatica:分布式;

Talend:分布式;

5、数据实时性:

DataPipeline:支持异构数据源的实时同步,速度非常快;

Kettle:不支持实时数据同步;

Informatica:支持实时,效率较低;

Talend:支持实时处理,需要购买高级版本,价格贵;

6、技术支持:

DataPipeline:本地化原厂技术支持;

Kettle:无;

Informatica:主要在美国;

Talend:主要在美国;

7、自动断点续传:

DataPipeline:支持;

Kettle:不支持;

Informatica:不支持;

Talend:不支持;

参考技术B

目前kettle功能太弱小,还是等3.0出来再用吧, talend不错,支持的数据种类很多.。商用的都有很好的data mapping/transform界面,job分布式服务器和监控工具等等,具体的性能差别我不太清楚,很少做对速度要求很高的项目。

拓展:

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

2、信息是现代企业的重要资源,是企业运用科学管理、决策分析的基础。目前,大多数企业花费大量的资金和时间来构建联机事务处理OLTP的业务系统和办公自动化系统,用来记录事务处理的各种相关数据。据统计,数据量每2~3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占在总数据量的2%~4%左右。

以上是关于开源ETL工具比较,Kettle和Talend,都有啥优势和劣势的主要内容,如果未能解决你的问题,请参考以下文章

几种 ETL 工具的比较(Kettle,Talend,Informatica 等)

六种 主流ETL 工具的比较(DataPipeline,Kettle,Talend,Informatica,Datax ,Oracle Goldengate)

Kettle简介

Talend与TASKCTL比较

ETL之Kettle

如此强大的开源ETL工具竟然被我发现了