一.datax介绍

DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。

DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。

二.datax 架构

DataX 采用 Framework + Plugin 架构,将数据源读取和写入抽象称为 Reader/Writer 插件,纳入到整个同步框架中。




datax 支持hive吗 datax支持的数据源_html


DataX 完成单个数据同步的作业,我们称为 Job,DataX 接收到一个 Job 后,将启动一个进程来完成整个作业同步过程。DataX Job 模块是单个作业的中枢管理节点,承担了数据清理、子任务切分、TaskGroup 管理等功能。


datax 支持hive吗 datax支持的数据源_Powered by 金山文档_02


DataX Job 启动后,会根据不同源端的切分策略,将 Job 切分成多个小的 Task (子任务),以便于并发执行。

接着 DataX Job 会调用 Scheduler 模块,根据配置的并发数量,将拆分成的 Task 重新组合,组装成 TaskGroup(任务组)。

每一个 Task 都由 TaskGroup 负责启动,Task 启动后,会固定启动 Reader --> Channel --> Writer 线程来完成任务同步工作。

DataX 作业运行启动后,Job 会对 TaskGroup 进行监控操作,等待所有 TaskGroup 完成后,Job 便会成功退出(异常退出时值非0)

三.datax支持数据源

DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入,目前支持数据如下图,详情请点击:DataX数据源参考指南


类型

数据源

Reader(读)

Writer(写)

文档

RDBMS 关系型数据库

MySQL


Oracle


OceanBase


SQLServer


PostgreSQL


DRDS


Kingbase


通用RDBMS(支持所有关系型数据库)

阿里云数仓数据存储

ODPS


ADB



ADS



OSS


OCS



Hologres



AnalyticDB For PostgreSQL


阿里云中间件

datahub

读 、写


SLS

读 、写

阿里云图数据库

GDB

NoSQL数据存储

OTS


Hbase0.94


Hbase1.1


Phoenix4.x


Phoenix5.x


MongoDB


Cassandra

数仓数据存储

StarRocks

读 、


ApacheDoris



ClickHouse



Databend



Hive


kudu


无结构化数据存储

TxtFile


FTP


HDFS


Elasticsearch


时间序列数据库

OpenTSDB



TSDB


TDengine


四.阿里云DataWorks数据集成

目前DataX的已有能力已经全部融和进阿里云的数据集成,并且比DataX更加高效、安全,同时数据集成具备DataX不具备的其它高级特性和功能。可以理解为数据集成是DataX的全面升级的商业化用版本,为企业可以提供稳定、可靠、安全的数据传输服务。与DataX相比,数据集成主要有以下几大突出特点: