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
- 描述:文本压缩类型,默认不填写意味着没有压缩。支持压缩类型为zip、lzo、lzop、tgz、 bzip2。
- 必选:否
- 默认值:无压缩
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 |