ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL 是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
我在下方列出了 9 款现在市面上免费且口碑不错的 ETL 调度工具,并罗列了在选择应用这些工具前所要考虑的几个维度
1.Apache Camel
Apache Kafka 是一个开源的消息系统,用 Scala 和 Java 写成。该项目为处理实时数据提供了一个统一、高通量、低延时的平台。有如下特性:
-
通过 O(1) 的磁盘数据结构提供消息的持久化,这种结构对于即使数以 TB 的消息存储也能够保持长时间的稳定性能。
-
高吞吐量:即使是非常普通的硬件 kafka 也可以支持每秒数十万的消息。
-
支持通过 kafka 服务器和消费机集群来分区消息。
-
支持 Hadoop 并行数据加载。
3.Apatar
Apatar 用 Java 编写,是一个开源的数据抽取、转换、 装载(ETL)项目。模块化的架构。提供可视化的 Job 设计器与映射工具,支持所有主流数据源,提供灵活的基于 GUI、服务器和嵌入式的部署选项。它具有符合 Unicode 的功能,可用于跨团队集成数据,填充数据仓库与数据市场,在连接到其他系统时在代码少量或没有代码的情况下进行维护。
4.Heka
Logstash 是一个应用程序日志、事件的传输、处理、管理和搜索的平台。你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。Logstash 现在是 ElasticSearch 家族成员之一。
6.Scriptella
Talend (踏蓝) 是第一家针对的数据集成工具市场的 ETL(数据的提取 Extract、传输 Transform、载入 Load)开源软件供应商。Talend 以它的技术和商业双重模式为 ETL 服务提供了一个全新的远景。它打破了传统的独有封闭服务,提供了一个针对所有规模的公司的公开的,创新的,强大的灵活的软件解决方案。最终,由于 Talend 的出现,数据整合方案不再被大公司所独享。
8.Kettle
Kettle 是一款国外开源软件。 etl 工具,纯 java 编写,绿色无需安装,数据抽取高效稳定(数据迁移工具)。Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转换,job 则完成整个工作流程的控制。
9.Taskctl Web(免费版)
由成都塔斯克科技公司自主研发的国内首个 10 万级 etl 调度软件 Taskctl,其中最新发布的 Web 版
是在原有的商用版 Taskctl 6.0 核心基础上横向扩展所诞生;
-
《深入浅出的etl作业调度工具TASKCTL》
-
《0元永久授权,ETL调度软件 Taskctl Free应用版》
在数据集成中该如何选择 ETL 工具呢?一般来说需要考虑以下几个方面:
-
对平台的支持程度。
-
对数据源的支持程度。
-
抽取和装载的性能是不是较高,且对业务系统的性能影响大不大,倾入性高不高。
-
数据转换和加工的功能强不强。
-
是否具有管理和调度功能。