# Ta-Datax-Writer 플러그인 사용 가이드
# 소개
Ta-Datax-Writer는 DataX의 쓰기 데이터 플러그인으로, DataX 생태계에서 TE 클러스터로 데이터를 전송하는 기능을 제공합니다. DataX에서 지원하는 데이터 소스 읽기 플러그인과 이 플러그인을 사용하여, 데이터 전송 서버에 DataX를 배포하고, 멀티 데이터 소스와 TE 클러스터의 데이터 동기화를 실현할 수 있습니다.
DataX에 대해서는, DataX의Github 홈페이지를 확인해 주세요. (opens new window)
TE수신자에게 데이터를 전송하는 방식
# 기능과 제한
TaDataWriter는 DataX 프로토콜에서 TE 클러스터의 내부 데이터 기능으로의 이전을 구현했습니다.
- 지원되며, TE클러스터로의 쓰기만 지원됩니다.
- 데이터 압축을 지원하며, 기존의 압축 형식은 gzip, lzo, lz4, snappy입니다.
- 동시 실행 스레드 수 전송을 지원합니다.
# 사용 설명
# 3.1 데이터x의 다운로드
- DataX공식 사이트 (opens new window)
- DataX 툴킷의 다운로드:DataX 다운로드 주소 (opens new window)
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
# 3.2 데이터x의 압축 해제
tar -zxvf datax.tar.gz
# 3.3 ta-datax-writer 플러그인의 설치
- 다운로드 ta-datax-writer 플러그인:ta-datax-writer 다운로드 주소 (opens new window)
wget https://download.thinkingdata.cn/tools/release/ta-datax-writer.tar.gz
- data/plugin/writer 디렉토리에 ta-datax-writer.tar.gz를 복사합니다.
cp ta-datax-writer.tar.gz data/plugin/writer
- 프리즈 플러그인 패키지
tar -zxvf ta-datax-writer.tar.gz
- 패키지를 삭제
rm -rf ta-datax-writer.tar.gz
# 기능 설명
# 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://{Data Receiving Address}",
"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
- 설명: DataX의 채널 수와 관계없이, 각 채널 내에서 동시에 사용되는 스레드 수가 됩니다.
- 필수:아니오
- 기본 표준 시간대: 3
- pushUrl
- 설명: 액세스 포인트 주소입니다.
- 필수:가치가 있다
- 미그룹화:가치가 없다
- uuid
- 설명: 전송 데이터에 "#uuid": "uuid값"을 추가하고, 데이터 유니크 ID 기능과 함께 사용합니다
- 필수:아니오
- 미그룹화: 가수
- type
- 설명: 기록된 데이터 타입 user_set, track
- 필수:가치가 있다
- 미그룹화:가치가 없다
- compress
- 설명: 텍스트 압축 타입, 기본적으로 입력하지 않으면 압축이 없다는 것을 의미합니다. 지원하는 압축 타입은 zip, lzo, lzop, tgz, bzip2입니다.
- 필수:아니오
- 미그룹화:압축 없음
- appid
- 설명: 해당 항목의 appid
- 필수:가치가 있다
- 미그룹화:가치가 없다
- column
- 설명: 읽기 필드 리스트에서 type은 데이터 타입을 지정하고, index는 현재 열이 reader의 몇 번째 열에 해당하는지(0으로 시작)를 지정하며, value는 현재 타입을 상수로 지정하여 reader에서 데이터를 읽는 것이 아니라 value 값에 기초하여 해당 열을 자동으로 생성합니다.
사용자는 열 이름 필드 정보를 지정할 수 있습니다.
[
{
"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 within TaDataWriter as the current field
},
{
"index": 0,
"type": "date",
"colTargetName": "testdate",
"dateFormat": "yyyy-MM-dd HH:mm:ss.SSS"
}
]
- 유저가 열 이름 정보를 지정하는 경우, index/value 중 하나를 선택해야 합니다. type은 필수가 아닙니다. 데이터 타입을 설정하는 경우, 데이터 형식은 필수가 아닙니다.
- 필수:가치가 있다
- 미그룹화: 모든 reader 타입으로 업로드하기
# 4.3 타입 변화
질문: TaDataWriter의 타입 정의: 답변:
DataX internal type | TaDataWriter data type |
---|---|
Int | Number |
Long | Number |
Double | Number |
String | String |
Boolean | Boolean |
Date | Date |