# TaDataWriter 플러그인
# 1. 소개
TaDataWriter는 DataX가 데이터를 TA 클러스터로 전송할 수 있게 하며, 이 데이터는 TA의 수신 주소로 전송됩니다.
# 2. 기능 및 제한 사항
TaDataWriter는 DataX 프로토콜 데이터를 TA 클러스터의 내부 데이터로 변환할 수 있습니다. TaDataWriter는 다음과 같은 기능을 가지고 있습니다:
- TA 클러스터에만 데이터를 전송할 수 있습니다.
- 데이터 압축을 지원합니다. 지원되는 압축 형식은 gzip, lzo, lz4, snappy입니다.
- 다중 스레드 전송을 지원합니다.
- TA 노드에서만 지원됩니다.
# 3. 기능 설명
# 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
- 설명: 클러스터 내에서 데이터를 수신하는 방법, 수신기로 전송하거나 직접 Kafka로 전송
- 필수 여부: 아니오
- 기본 값: http
- column
- 설명: 필드 목록을 읽습니다.
type
은 데이터 유형을 지정하고,index
는reader
에 해당하는 현재 열을 지정합니다(0부터 시작).value
는 현재 유형을 상수로 지정하며,reader
에서 데이터를 읽지 않고value
에 따라 자동으로 해당 열을 생성합니다.
- 설명: 필드 목록을 읽습니다.
사용자는 다음과 같이 Column
필드 정보를 지정할 수 있습니다:
[
{
"type": "Number",
"colTargetName": "test_col", //generate column names corresponding to data
"index": 0 //transfer the first column from reader to dataX to get the Number field
},
{
"type": "string",
"value": "testvalue",
"colTargetName": "test_col" //generate the string field of testvalue from TaDataWriter as the current field
},
{
"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 internal type | TaDataWriter data type |
---|---|
Int | Number |
Long | Number |
Double | Number |
String | String |
Boolean | Boolean |
Date | Date |