ETL 数据集成工具
对于数据仓库,大数据集成类利用,通常会采纳 ETL 工具辅助实现。ETL,是英文 Extract-Transform-Load 的缩写,用来形容将数据从起源端通过抽取 (extract)、交互转换(transform)、加载(load) 至的端的过程以后的很多利用也存在大量的 ELT 利用模式。常见的 ETL 工具或类 ETL 的数据集成同步工具很多,以下对开源的 datax、Kettle、ETLCloud 进行简略梳理比拟。
1.DataX
1.1 介绍
DataX 是阿里巴巴团体开源的一款异构数据源离线同步工具,旨在实现各种数据源之间稳固高效的数据同步性能。它反对包含关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等多种异构数据源。为了解决异构数据源同步问题,DataX 采纳星型数据链路架构,将简单的网状同步链路简化为核心式数据同步,DataX 作为两头传输载体负责连贯各种数据源,实现新数据源与已有数据源之间的无缝数据同步。
DataX 自身作为离线数据同步框架,采纳 Framework + plugin 架构构建。将数据源读取和写入形象为 Reader 和 Writer 插件,纳入到整个同步框架中。
1.2 特点
- 异构数据库和文件系统之间的数据交换
- 采纳 Framework+plugin 架构构建,Framework 解决了缓冲,流控,并发,上下文加载等高速数据交换的大部分技术问题,提供了简略的接口与插件交互,插件仅需实现对数据处理系统的拜访。
- 数据传输过程在单过程内实现,全内存操作。
- 拓展性强,开发者能够开发一个新插件反对新的数据库文件系统。
2.Kettle
2.1 介绍
kettle 是一款寰球最受欢迎的开源 ETL 数据集成工具,具备多样的数据集成性能,反对各种数据源和指标。提供直观的可视化配置界面,弱小的数据转换和解决能力,包含荡涤、转换、过滤等操作。可扩大的架构,容许用户开发自定义插件和扩大。跨平台反对和灵便的部署选项。领有宏大的用户社区和沉闷的开发者社区,提供全面的反对和资源。
Transformatiobn:实现对数据的根本转换。
Job: 实现整个工作流的管制。
简略了解, 一个转换 (Trans) 就是一个 ETL 的过程,而作业(Job)是多个转换的汇合,在作业中能够对转换或作业进行调度,定时工作。
2.2 特点
- 收费开源,可跨平台(因为是纯 java 编写)
- Kettle 提供了直观的图形化界面,用户能够通过拖拽组件来构建数据流程,无需编写代码。
- 两种脚本文件,trans 负责数据转化,job 负责整个工作流的调度管制。
- 反对作业调度和监控,能够自动化执行数据集成工作。
3.ETLCloud
3.1 介绍
ETLCloud 是一款由国内 RestCloud 推出的全域数据集成工具,他对标的次要是替换下面这些全球化的 ETL 数据集成工具,也是国内目前最受欢迎的收费 ETL 数据集成工具,具备宽泛的数据集成组件,内置反对上百种利用的集成,这是其余 ETL 均不具备的能力,反对各种数据源和指标。提供 WEB 直观的可视化配置界面,弱小的数据转换和解决能力,包含荡涤、转换、过滤等操作。可扩大的三层架构,同时容许用户开发自定义插件和扩大。
3.2 特点
- 基于微服务架构开发反对分布式部署同时反对上万流程的调度与执行
- 平台简略易用开箱即用,无需装置客户端软件只需浏览器即可
- 反对多种数据源(RDBS、NOSQL、API、Excel、kafka、hive 等)、反对 CDC、MQ 流式数据的实时处理,反对批流数据的合并
- 反对各种不同数据源之间数据类型的主动转换,极大晋升流程的构建速度
- 反对数据缓冲库性能,提供两头缓冲数据性能
与 Kettle、DataX 相比,ETLCloud 在可视化监控、集群部署、告警和实时能力等方面具备劣势。此外,ETLCloud 还领有一个沉闷的社区群体,提供技术支持和全面的帮忙文档和视频资源。可能满足各种企业的数据集成需要。