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 ""