ETL,是英文 Extract-Transform-Load 的缩写,用来形容将数据从起源端通过抽取 (extract)、转换(transform)、加载(load) 至目标端的过程。ETL 是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,通过数据荡涤,最终依照事后定义好的数据仓库模型,将数据加载到数据仓库中去。咱们在下方列出了 7 款开源的 ETL 工具,并探讨了从 ETL 转向“无 ETL”的过程,因为 ELT 正迅速成为古代数据和云环境的终极过程。
ETL,是英文 Extract-Transform-Load 的缩写,用来形容将数据从起源端通过抽取 (extract)、转换(transform)、加载(load) 至目标端的过程。ETL 是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,通过数据荡涤,最终依照事后定义好的数据仓库模型,将数据加载到数据仓库中去。
我在下方列出了 9 款当初市面上收费且口碑不错的 ETL 调度工具,并列举了在抉择利用这些工具前所要思考的几个维度
优良的 ETL 工具
1.Apache Camel
Apache Camel 是一个十分弱小的基于规定的路由以及媒介引擎,该引擎提供了一个基于 POJO 的企业应用模式 (Enterprise Integration Patterns) 的实现,你能够采纳其异样弱小且非常易用的 API (能够说是一种 Java 的畛域定义语言 Domain Specific Language)来配置其路由或者中介的规定。通过这种畛域定义语言,你能够在你的 IDE 中用简略的 Java Code 就能够写出一个类型平安并具备肯定智能的规定形容文件。
2.Apache Kafka
Apache Kafka 是一个开源的音讯零碎,用 Scala 和 Java 写成。该我的项目为解决实时数据提供了一个对立、高通量、低延时的平台。有如下个性:
通过 O(1) 的磁盘数据结构提供音讯的长久化,这种构造对于即便数以 TB 的音讯存储也可能放弃长时间的稳定性能。
高吞吐量:即便是十分一般的硬件 kafka 也能够反对每秒数十万的音讯。
反对通过 kafka 服务器和消费机集群来分区音讯。
反对 Hadoop 并行数据加载。
3.Apatar
Apatar 用 Java 编写,是一个开源的数据抽取、转换、装载 (ETL) 我的项目。模块化的架构。提供可视化的 Job 设计器与映射工具,反对所有支流数据源,提供灵便的基于 GUI、服务器和嵌入式的部署选项。它具备合乎 Unicode 的性能,可用于跨团队集成数据,填充数据仓库与数据市场,在连贯到其余零碎时在代码大量或没有代码的状况下进行保护。
4.Heka
来自 Mozilla 的 Heka 是一个用来收集和整顿来自多个不同源的数据的工具,通过对数据进行收集和整顿后发送后果报告到不同的指标用于进一步剖析。
5.Logstash
Logstash 是一个应用程序日志、事件的传输、解决、治理和搜寻的平台。你能够用它来对立对应用程序日志进行收集治理,提供 Web 接口用于查问和统计。Logstash 当初是 ElasticSearch 家族成员之一。
6.Scriptella
Scriptella 是一个开源的 ETL (抽取 - 转换 - 加载)工具和一个脚本执行工具,采纳 Java 开发。Scriptella 反对跨数据库的 ETL 脚本,并且能够在单个的 ETL 文件中与多个数据源运行。Scriptella 可与任何 JDBC / ODBC 兼容的驱动程序集成,并提供与非 JDBC 数据源和脚本语言的互操作性的接口。它还能够与 Java EE,Spring,JMX,JNDI 和 JavaMail 集成。
7.Talend
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 外围根底上横向扩大所诞生;
Taskctl Web 利用版是专门为批量作业调度自动化打造的一款轻便型麻利调度工具。可为批量作业自动化调度者提供简略的办法来治理各类简单作业的调度和监控治理。与之前 V1.2 相比 C/S 利用端性能残缺,并精简局部操作逻辑,适宜初学者体验 Taskctl 产品,也能作为中小我的项目生产利用。
具体软件参数规格可参阅跳转:
- 《深入浅出的 etl 作业调度工具 TASKCTL》
- 《0 元永恒受权,ETL 调度软件 Taskctl Free 利用版》
工具获取:去公众号【taskctl】回复内容“软件”即可
ETL 工具的抉择
在数据集成中该如何抉择 ETL 工具呢?一般来说须要思考以下几个方面:
- 对平台的反对水平。
- 对数据源的反对水平。
- 抽取和装载的性能是不是较高,且对业务零碎的性能影响大不大,倾入性高不高。
- 数据转换和加工的性能强不强。
- 是否具备治理和调度性能。
- 是否具备良好的集成性和开放性