Ta-Datax-Writer 插件使用指南

一、介绍

Ta-Datax-Writer是DataX的写入数据插件,提供了DataX生态中向TA集群传输数据的功能,您可以在数据传输服务器上部署DataX,同时使用DataX所支持的数据源读取插件以及本插件,实现多数据源与TA集群的数据同步。

如需了解DataX,可以访问DataX的Github主页

数据发送到TA接收端的方式进行数据传输

二、功能与限制

TaDataWriter实现了从DataX协议转为TA集群内部数据功能,TaDataWriter如下几个方面约定:

  1. 支持且仅支持写入TA集群。

  2. 支持数据压缩,现有压缩格式为gzip、lzo、lz4、snappy。

  3. 支持多线程传输。

三、使用说明

3.1 下载datax

wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

3.2 解压datax

tar -zxvf datax.tar.gz

3.3 安装ta-datax-writer插件

wget https://download.thinkingdata.cn/tools/release/ta-datax-writer.tar.gz
  • 把ta-datax-writer.tar.gz 拷贝到data/plugin/writer目录下
cp ta-datax-writer.tar.gz data/plugin/writer

  • 解压插件包
tar -zxvf ta-datax-writer.tar.gz
  • 删除软件包
rm -rf  ta-datax-writer.tar.gz

四、 功能说明

4.1 配置样例

{
  "job": {
    "setting": {
      "speed": {
        "channel": 1
      }
    },
    "content": [
      {
         "reader": {
                    "name": "streamreader",
                    "parameter": {
                        "column" : [
                            {
                                "value": "123123",
                                "type": "string"
                            },
                            {
                                "value": "testbuy",
                                "type": "string"
                            },
                            {
                                "value": "2019-08-16 08:08:08",
                                "type": "date"
                            },
                            {
                                "value": "2222",
                                "type": "string"
                            },
                            {
                                "value": "2019-08-16 08:08:08",
                                "type": "date"
                            },
                            {
                                "value": "test",
                                "type": "bytes"
                            },
                            {
                                "value": true,
                                "type": "bool"
                            }
                        ],
                        "sliceRecordCount": 10
                    }
        },
        "writer": {
          "name": "ta-datax-writer",
          "parameter": {
            "thread": 3,
            "type": "track",
            "pushUrl":"http://{数据接收地址}",
            "appid": "6f9e64da5bc74792b9e9c1db4e3e3822",
            "column": [
              {
                "index": "0",
                "colTargetName": "#distinct_id"
              },
              {
                "index": "1",
                "colTargetName": "#event_name"
              },
              {
                "index": "2",
                "colTargetName": "#time",
                "type": "date",
                "dateFormat":"yyyy-MM-dd HH:mm:ss.SSS"
              },
              {
                "index": "3",
                "colTargetName": "#account_id",
                "type": "string"
              },
              {
                "index": "4",
                "colTargetName": "testDate",
                "type": "date",
                "dateFormat":"yyyy-MM-dd HH:mm:ss.SSS"
              },
              {
                "index": "5",
                "colTargetName": "os_1",
                "type": "string"
              },
              {
                "index": "6",
                "colTargetName": "testBoolean",
                "type": "boolean"
              },
              {
                "colTargetName": "add_clo",
                "value": "123123",
                "type": "string"
              }
            ]
          }
        }
      }
    ]
  }
}

4.2 参数说明

  • thread

    • 描述:线程数,为每个channel内部并发使用,与DataX的channel数量无关。

    • 必选:否

    • 默认值:3

  • pushUrl

    • 描述:接入点地址。

    • 必选:是

    • 默认值:无

  • uuid

    • 描述:在传输数据中增加 "#uuid":"uuid值",配合数据唯一ID功能使用 。

      • 必选:否

      • 默认值:false

  • type

    • 描述:写入的数据类型user_set、track。

      • 必选:是

      • 默认值:无

  • compress

    • 描述:文本压缩类型,默认不填写意味着没有压缩。支持压缩类型为zip、lzo、lzop、tgz、bzip2。

    • 必选:否

    • 默认值:无压缩

  • appid

    • 描述:对应项目的APP ID。

      • 必选:是

      • 默认值:无

  • column

    • 描述:读取字段列表,type指定数据的类型,index指定当前列来对应reader的第几列(以0开始),value指定当前类型为常量,不从reader读取数据,而是根据value值自动生成对应的列。

      用户可以指定Column字段信息,配置如下:


[{
   "type": "Number",
   "colTargetName":"test_col",  //生成数据对应的列名
   "index": 0    //从reader到datax传输第一列获取Number字段
}
,
{
   "type": "string",
   "value": "testvalue",
   "colTargetName":"test_col"
   //从TaDataWriter内部生成testvalue的字符串字段作为当前字段
}
,
{
   "index": 0, 
   "type": "date",
   "colTargetName": "testdate",
   "dateFormat":"yyyy-MM-dd HH:mm:ss.SSS"
}]
  • 对于用户指定Column信息,index/value必须选择其一,type 非必选,设置date类型时,可设置dataFormat非必选。

    • 必选:是

    • 默认值:全部按照reader类型读取

4.3 类型转换

类型是TaDataWriter定义:

DataX 内部类型 TaDataWriter 数据类型
Int Number
Long Number
Double Number
String String
Boolean Boolean
Date Date

results matching ""

    No results matching ""