DataX 引擎

一、DataX简介

DataX是阿里巴巴发布的开源项目(详情请访问DataX的Github主页),是一个高效的离线数据同步工具,常用于异构数据源之间的数据同步。

DataX采用的是Framework + plugin架构,数据源读取和写入分别对应Reader与Writer插件,每一种数据源会有对应的Reader或者Writer,DataX默认地提供了丰富的Reader与Writer支持,用于适配多种主流数据源。Framework用于连接Reader和Writer,并负责同步任务中的数据处理、扭转等核心过程。

DataX的数据同步任务,主要通过一个配置文件进行控制,其中最主要的配置是Reader与Writer的配置,这两者分别代表如何从数据源抽取数据,以及如何将抽取的数据写入数据源。通过在配置文件中使用对应数据源的Reader与Writer,即可完成异构数据源的同步。

在ta-tool中,我们集成了DataX引擎,并且编写了TA集群的插件(即TA集群的Reader与Writer),借由TA集群插件,可以将TA集群的作为DataX的数据源。

通过ta-tool中的DataX引擎,您可以完成以下数据同步:

  1. 将其他数据库中的数据,导入到TA集群,需要使用DataX的已有Reader插件与TA Writer
  2. 将TA集群的数据,导出到其他数据库中,需要使用TA Reader与DataX的已有Writer插件

二、DataX引擎的使用方式

如果需要使用ta-tool中的DataX引擎进行多数据源同步任务,那么首先需要在TA集群中编写DataX任务的Config文件,其次是执行二次开发组件中的DataX命令,读取Config文件执行数据同步任务。

2.1 配置文件样例

DataX的任务Config文件需要是一个json文件,json配置的模板如下:

{
  "job": {
    "content": [
      {
        "reader": {
          "name": "streamreader",
          "parameter": {
            "sliceRecordCount": 10,
            "column": [
              {
                "type": "long",
                "value": "10"
              },
              {
                "type": "string",
                "value": "hello,你好,世界-DataX"
              }
            ]
          }
        },
        "writer": {
          "name": "streamwriter",
          "parameter": {
            "encoding": "UTF-8",
            "print": true
          }
        }
      }
    ],
    "setting": {
      "speed": {
        "channel": 5
       }
    }
  }
}

整个配置文件是一个JSON,最外层"job"元素,其中包含两个元素,分别为"content"和"setting","content"内的元素中包含reader和writer的信息,可以在本文后续部分查看TA集群的Reader和Writer。"setting"中的"speed"内的"channel"是同时执行的任务数。

配置文件中主要需要配置的部分为"content"中的"reader"和"writer"元素,分别配置读取数据的Reader插件以及写入数据的Writer插件。DataX预置的Reader和Writer插件的配置方法,请访问DataX的Support Data Channels部分。

2.2 执行DataX命令

完成配置文件的编写后,可以执行以下命令读取配置文件,并开始数据同步任务。

ta-tool datax_engine -conf <configPath> [--date <date>]

传入的参数为配置文件所在路径。

三、TA集群的DataX插件说明

3.1 集群内使用的插件

类型 数据源 Reader(读) Writer(写) 文档
TA系统 TA √ √ 读 、写
自定义表 TA √ 写
json文本 TA √ 写

3.2 集群外使用的插件

类型 数据源 Reader(读) Writer(写) 文档
TA系统 TA √ 写

3.3 datax原生插件

类型 数据源 Reader(读) Writer(写) 文档
RDBMS 关系型数据库 MySQL √ √ 读 、写
Oracle √ √ 读 、写
SQLServer √ √ 读 、写
PostgreSQL √ √ 读 、写
DRDS √ √ 读 、写
通用RDBMS √ √ 读 、写
阿里云数仓数据存储 ODPS √ √ 读 、写
ADS √ 写
OSS √ √ 读 、写
OCS √ √ 读 、写
NoSQL数据存储 OTS √ √ 读 、写
Hbase0.94 √ √ 读 、写
Hbase1.1 √ √ 读 、写
Phoenix4.x √ √ 读 、写
Phoenix5.x √ √ 读 、写
MongoDB √ √ 读 、写
Hive √ √ 读 、写
Cassandra √ √ 读 、写
无结构化数据存储 TxtFile √ √ 读 、写
FTP √ √ 读 、写
HDFS √ √ 读 、写
Elasticsearch √ 写
时间序列数据库 OpenTSDB √ 读
TSDB √ √ 读 、写

results matching ""

    No results matching ""