manuallatest제품 매뉴얼 / TaDataxWriter 플러그인
TaDataxWriter 플러그인
1. 소개
TaDataxWriter는 DataX의 데이터 쓰기 플러그인으로, DataX 생태계에서 AE 클러스터로 데이터를 전송하는 기능을 제공합니다. 데이터 전송 서버에 DataX를 배포하고 DataX가 지원하는 데이터 소스 읽기 플러그인과 이 플러그인을 함께 사용하여 여러 데이터 소스와 AE 클러스터 간의 데이터 동기화를 구현할 수 있습니다.
DataX에 대해 자세히 알아보려면 DataX의 Github 페이지를 방문하세요.
데이터를 AE 수신 측으로 보내는 방식으로 데이터를 전송합니다
2. 기능과 제한
TaDataWriter는 DataX 프로토콜을 AE 클러스터 내부 데이터로 변환하는 기능을 구현하며, 다음 사항을 약정합니다.
- AE 클러스터에 쓰기만 지원합니다.
- 데이터 압축을 지원하며, 현재 지원하는 압축 포맷은 gzip, snappy입니다.
- 멀티스레드 전송을 지원합니다.
3. 사용 방법
3.1 datax 다운로드
- DataX 공식 사이트를 방문합니다.
- DataX 툴킷 다운로드: DataX 다운로드 주소
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
다운로드가 완료되면 다음과 비슷한 내용이 출력됩니다.
--2019-12-23 10:33:13-- http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
HTTP request sent, awaiting response... 200 OK
Length: 829372407 (791M) [application/x-gzip]
Saving to: ‘datax.tar.gz’
2019-12-23 10:34:17 (12.4 MB/s) - ‘datax.tar.gz’ saved [829372407/829372407]
3.2 datax 압축 해제
tar -zxvf datax.tar.gz
3.3 ta-datax-writer 플러그인 설치
- ta-datax-writer 플러그인 다운로드: ta-datax-writer 다운로드 주소
wget https://download.thinkingdata.cn/tools/release/ta-datax-writer.tar.gz
- ta-datax-writer.tar.gz를 datax/plugin/writer 디렉터리에 복사합니다.
cp ta-datax-writer.tar.gz datax/plugin/writer
- datax/plugin/writer 디렉터리로 이동하여 ll을 실행하면 디렉터리에 ta-datax-writer.tar.gz가 있는 것을 확인할 수 있습니다.
cd datax/plugin/writer/
ll
-rw-r--r-- 1 root root 8575618 Dec 23 10:38 ta-datax-writer.tar.gz
- 플러그인 패키지 압축 해제
tar -zxvf ta-datax-writer.tar.gz
- 패키지 파일 삭제
rm -rf ta-datax-writer.tar.gz
- ll을 실행하면 디렉터리에 압축 해제된 ta-datax-writer 플러그인 디렉터리가 있는 것을 확인할 수 있습니다.
ll
drwxr-xr-x 4 ta ta 4096 Nov 25 19:17 ta-datax-writer
4. 기능 설명
4.1 설정 예시
{
"job": {
"setting": {
"speed": {
"channel": 1
}
},
"content": [
{
"reader": {
"name": "streamreader",
"parameter": {
"column": [
{
"value": "123123",
"type": "string"
},
{
"value": "testbuy",
"type": "string"
},
{
"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": 10
}
},
"writer": {
"name": "ta-datax-writer",
"parameter": {
"thread": 3,
"type": "track",
"pushUrl": "http://{데이터 수신 주소}",
"appid": "6f9e64da5bc74792b9e9c1db4e3e3822",
"column": [
{
"index": "0",
"colTargetName": "#distinct_id"
},
{
"index": "1",
"colTargetName": "#event_name"
},
{
"index": "2",
"colTargetName": "#time",
"type": "date",
"dateFormat": "yyyy-MM-dd HH:mm:ss.SSS"
},
{
"index": "3",
"colTargetName": "#account_id",
"type": "string"
},
{
"index": "4",
"colTargetName": "testDate",
"type": "date",
"dateFormat": "yyyy-MM-dd HH:mm:ss.SSS"
},
{
"index": "5",
"colTargetName": "os_1",
"type": "string"
},
{
"index": "6",
"colTargetName": "testBoolean",
"type": "boolean"
},
{
"colTargetName": "add_clo",
"value": "123123",
"type": "string"
}
]
}
}
}
]
}
}
4.2 파라미터 설명
-
thread
- 설명: 스레드 수로, 각 channel 내부의 동시 처리에 사용되며 DataX의 channel 수와는 관계가 없습니다.
- 필수: 아니요
- 기본값: 3
-
pushUrl
- 설명: 엔드포인트 주소입니다.
- 필수: 예
- 기본값: 없음
-
uuid
- 설명: 전송 데이터에 "#uuid": "uuid 값"을 추가합니다. 데이터 고유 ID 기능과 함께 사용합니다.
- 필수: 아니요
- 기본값: false
-
type
- 설명: 쓸 데이터 타입으로, user_set, track입니다.
- 필수: 예
- 기본값: 없음
-
compress
- 설명: 텍스트 압축 타입입니다. 기본적으로 입력하지 않으면 압축하지 않습니다. 지원하는 압축 타입은 gzip, snappy입니다.
- 필수: 아니요
- 기본값: 압축 없음
-
appid
- 설명: 해당 프로젝트의 APP ID입니다.
- 필수: 예
- 기본값: 없음
-
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"
}
]
4.3 Array 타입 설명
-
array 타입을 사용할 때는 읽기 측 데이터가 \t로 구분된 문자열 타입이어야 합니다.
- 읽기 측 데이터 예시: "aaa\tbbb\tccc\tddd"
- 변환 결과: ["aaa","bbb","ccc","ddd"]
4.4 타입 변환
타입은 TaDataWriter에서 정의합니다.
| DataX 내부 타입 | TaDataWriter 데이터 타입 |
|---|---|
| Int | Number |
| Long | Number |
| Double | Number |
| String | String |
| Boolean | Boolean |
| Date | Date |
| Array | Array |
이 문서가 도움이 되었나요?

