manuallatest제품 매뉴얼 / TaJsonWriter 플러그인
TaJsonWriter 플러그인
1. 소개
TaJsonWriter는 로컬 파일에 AE JSON 포맷의 파일을 쓰는 기능을 제공합니다. TaJsonWriter는 AE 클러스터 데이터를 json 텍스트로 복원해야 하는 사용자를 위한 플러그인입니다.
2. 기능과 제한
TaJsonWriter는 DataX 프로토콜을 AE JSON 포맷의 로컬 파일로 변환하는 기능을 구현하며, 다음 사항을 약정합니다.
- AE 포맷의 json 텍스트 파일 쓰기만 지원합니다.
- 멀티스레드 쓰기를 지원하며, 각 스레드는 서로 다른 하위 파일에 씁니다.
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 데이터 타입 |
|---|---|
| Int | Number |
| Long | Number |
| Double | Number |
| String | String |
| Boolean | Boolean |
| Date | Date |
이 문서가 도움이 되었나요?

