본문으로 건너뛰기

TaJsonWriter 플러그인

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

1. 소개​

TaJsonWriter는 로컬 파일에 AE JSON 포맷의 파일을 쓰는 기능을 제공합니다. TaJsonWriter는 AE 클러스터 데이터를 json 텍스트로 복원해야 하는 사용자를 위한 플러그인입니다.

2. 기능과 제한​

TaJsonWriter는 DataX 프로토콜을 AE JSON 포맷의 로컬 파일로 변환하는 기능을 구현하며, 다음 사항을 약정합니다.

  1. AE 포맷의 json 텍스트 파일 쓰기만 지원합니다.
  2. 멀티스레드 쓰기를 지원하며, 각 스레드는 서로 다른 하위 파일에 씁니다.

3. 기능 설명​

3.1 설정 예시​

{
"job": {
"setting": {
"speed": {
"channel": 1
}
},
"content": [
{
"reader": {
"name": "streamreader",
"parameter": {
"column": [
{
"value": 123123,
"type": "long"
},
{
"value": "123123",
"type": "string"
},
{
"value": "login",
"type": "string"
},
{
"value": "2019-08-16 08:08:08",
"type": "date"
},
{
"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": 100
}
},
"writer": {
"name": "ta-json-writer",
"parameter": {
"type": "event",
"path": "/data/export/ta_datafile/",
"filename": "test",
"column": [
{
"index": "0",
"colTargetName": "#user_id"
},
{
"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": "#event_time",
"type": "string"
},
{
"index": "5",
"colTargetName": "#account_id",
"type": "string"
},
{
"index": "6",
"colTargetName": "timetest",
"type": "date",
"dateFormat": "yyyy-MM-dd HH:mm:ss.SSS"
},
{
"index": "6",
"colTargetName": "timetest2",
"type": "date",
"dateFormat": "yyyy-MM-dd HH:mm:ss"
},
{
"index": "7",
"colTargetName": "os_1",
"type": "string"
},
{
"index": "7",
"colTargetName": "os_2",
"type": "string"
},
{
"index": "8",
"colTargetName": "booleantest",
"type": "boolean"
},
{
"index": "0",
"colTargetName": "testNumber",
"type": "number"
},
{
"colTargetName": "add_clo",
"value": "123123",
"type": "string"
}
]
}
}
}
]
}
}

3.2 파라미터 설명​

  • path

    • 설명: 로컬 파일 시스템의 경로 정보입니다. TaJsonWriter는 Path 디렉터리 아래에 여러 파일을 씁니다.
    • 필수: 예
    • 기본값: 없음

fileName

  • 설명: TaJsonWriter가 쓸 파일 이름입니다. 이 파일 이름에 임의의 접미사를 붙여 각 스레드가 실제로 쓰는 파일 이름으로 사용합니다.
  • 필수: 예
  • 기본값: 없음
  • writeMode

    • 설명: TaJsonWriter가 쓰기 전에 데이터를 정리하는 처리 모드입니다.

      • truncate: 쓰기 전에 디렉터리에서 fileName을 접두사로 하는 모든 파일을 정리합니다.
      • append: 쓰기 전에 아무 처리도 하지 않으며, DataX TaJsonWriter가 filename으로 직접 쓰고 파일 이름이 충돌하지 않도록 보장합니다.
      • nonConflict: 디렉터리에 fileName 접두사를 가진 파일이 있으면 바로 오류를 보고합니다.
    • 필수: 예

    • 기본값: append

  • encoding

    • 설명: 파일을 읽을 때의 인코딩 설정입니다.
    • 필수: 아니요
    • 기본값: utf-8
  • 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"
}
]

3.3 타입 변환​

타입은 TaJsonWriter에서 다음과 같이 정의합니다:

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