# TaDataWriter 插件
# 一、介绍
TaDataWriter 提供了 DataX 向 Ta 集群传输数据的功能,数据将会发送到 TA 的 receiver。
# 二、功能与限制
TaDataWriter 实现了从 DataX 协议转为 Ta 集群内部数据功能,TaDataWriter 如下几个方面约定:
- 支持且仅支持写入 Ta 集群。
- 支持数据压缩,现有压缩格式为 gzip、lzo、lz4、snappy。
- 支持多线程传输。
- 支持且仅支持在 TA 节点上使用。
# 三、功能说明
# 3.1 配置样例
{
  "job": {
    "setting": {
      "speed": {
        "channel": 1
      }
    },
    "content": [
      {
        "reader": {
          "name": "streamreader",
          "parameter": {
            "column": [
              {
                "value": "ABCDEFG-123-abc",
                "type": "string"
              },
              {
                "value": "F53A58ED-E5DA-4F18-B082-7E1228746E88",
                "type": "string"
              },
              {
                "value": "login",
                "type": "string"
              },
              {
                "value": "2020-01-01 01:01:01",
                "type": "date"
              },
              {
                "value": "abcdefg",
                "type": "string"
              },
              {
                "value": "2019-08-08 08:08:08",
                "type": "date"
              },
              {
                "value": 123456,
                "type": "long"
              },
              {
                "value": true,
                "type": "bool"
              }
            ],
            "sliceRecordCount": 1000
          }
        },
        "writer": {
          "name": "ta-data-writer",
          "parameter": {
            "type": "track",
            "appid": "34c703a885014208a737911748a7b51c",
            "column": [
              {
                "index": "0",
                "colTargetName": "#account_id",
                "type": "string"
              },
              {
                "index": "1",
                "colTargetName": "#distinct_id"
              },
              {
                "index": "2",
                "colTargetName": "#event_name"
              },
              {
                "index": "3",
                "colTargetName": "#time",
                "type": "date",
                "dateFormat": "yyyy-MM-dd HH:mm:ss.SSS"
              },
              {
                "index": "4",
                "colTargetName": "testString",
                "type": "string"
              },
              {
                "index": "5",
                "colTargetName": "testDate",
                "type": "date",
                "dateFormat": "yyyy-MM-dd HH:mm:ss.SSS"
              },
              {
                "index": "6",
                "colTargetName": "testLong",
                "type": "number"
              },
              {
                "index": "7",
                "colTargetName": "testBoolean",
                "type": "boolean"
              },
              {
                "colTargetName": "add_clo",
                "value": "addFlag",
                "type": "string"
              }
            ]
          }
        }
      }
    ]
  }
}
# 3.2 参数说明
- type
- 描述:写入的数据类型 user_set、track。
- 必选:是
- 默认值:无
 
- appid
- 描述:对应项目的 appid。
- 必选:是
- 默认值:无
 
- thread
- 描述:线程数。
- 必选:否
- 默认值:3
 
- compress
- 描述:文本压缩类型,默认不填写意味着没有压缩。支持压缩类型为 gzip、lzo、lz4、snappy。
- 必选:否
- 默认值:无压缩
 
- connType
- 描述:集群内部的接受数据方式,走 receiver 还是直接发送到 kafka。
- 必选:否
- 默认值:http
 
- 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 类型读取
 
# 3.3 类型转换
类型是 TaDataWriter 定义:
| DataX 内部类型 | TaDataWriter 数据类型 | 
|---|---|
| Int | Number | 
| Long | Number | 
| Double | Number | 
| String | String | 
| Boolean | Boolean | 
| Date | Date | 
