본문으로 건너뛰기

TaDataWriter 플러그인

최근 업데이트 2026. 10. 03.

1. 소개​

TaDataWriter는 DataX에서 AE 클러스터로 데이터를 전송하는 기능을 제공하며, 데이터는 AE의 receiver로 전송됩니다.

2. 기능과 제한​

TaDataWriter는 DataX 프로토콜을 AE 클러스터 내부 데이터로 변환하는 기능을 구현하며, 다음 사항을 약정합니다.

  1. AE 클러스터에 쓰기만 지원합니다.
  2. 데이터 압축을 지원하며, 현재 지원하는 압축 포맷은 gzip, snappy입니다.
  3. 멀티스레드 전송을 지원합니다.
  4. AE 노드에서만 사용할 수 있습니다.

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, 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 타입으로 설정할 때는 dateFormat을 설정할 수 있으며, 이는 선택 사항입니다.

    • 필수: 예
    • 기본값: 모두 reader 타입에 따라 읽음

3.3 타입 변환​

타입은 TaDataWriter에서 정의합니다.

DataX 내부 타입TaDataWriter 데이터 타입
IntNumber
LongNumber
DoubleNumber
StringString
BooleanBoolean
DateDate
이 문서가 도움이 되었나요?