# TaCustomTableWriter 플러그인
# 1. 소개
TACustomTableWriter는 Ta 시스템에 커스텀 테이블을 생성할 수 있습니다. 때때로 유저 또는 이벤트 형식으로 표시되지 않는 매핑 테이블이나 외부 데이터와 같은 데이터를 사용해야 할 경우가 있습니다. 이 데이터를 사용하려면 TACustomTableWriter 플러그인을 사용하여 TA 시스템에 커스텀 데이터를 가져와야 합니다.
# 2. 기능 및 제한 사항
TA 시스템의 사용자 정의 테이블 기능만 지원됩니다.
# 3. 기능 설명
# 3.1 샘플 구성
{
"job": {
"setting": {
"speed": {
"channel": 1
}
},
"content": [
{
"reader": {
"name": "streamreader",
"parameter": {
"column": [
{
"value": 123456,
"type": "long"
},
{
"value": "123123",
"type": "string"
},
{
"value": "pay",
"type": "string"
},
{
"value": "2020-01-01 08:08:08",
"type": "date"
},
{
"value": "2020-01-01 08:08:08",
"type": "date"
},
{
"value": "2222",
"type": "string"
},
{
"value": "2020-01-01 08:08:08",
"type": "date"
},
{
"value": "test",
"type": "string"
},
{
"value": true,
"type": "bool"
}
],
"sliceRecordCount": 10
}
},
"writer": {
"name": "ta-custom-table-writer",
"parameter": {
"appid": "6f9e64da5bc74792b9e9c1db4e3e3822",
"table": "ta_custom_table",
"tableDesc": "test table",
"partitionValue": "2020-01-01",
"writeMode": "overwrite",
"column": [
{
"type": "double",
"name": "id"
},
{
"type": "string",
"name": "distinct_id"
},
{
"type": "string",
"name": "event_name"
},
{
"type": "string",
"name": "time"
},
{
"name": "event_time",
"type": "string"
},
{
"type": "string",
"name": "account_id"
},
{
"type": "string",
"name": "testDate"
},
{
"type": "string",
"name": "timetest2"
},
{
"type": "string",
"name": "os_1"
}
]
}
}
}
]
}
}
# 3.2 파라미터 설명
- appid
- 설명: 가져오기 테이블에 해당하는 프로젝트 appid는 TA 시스템의 백그라운드에서 찾을 수 있습니다. 시스템에 존재해야 하며, 프로젝트가 오프라인 상태가 아니어야 합니다.
- 유형: 문자열
- 필수: 예
- 기본값: 없음
- table
- 설명: TA 시스템에 가져올 테이블 이름입니다. 테이블 이름은 전역적으로 중복될 수 없습니다. 프로젝트마다 구분 가능한 접두사나 접미사를 추가하는 것이 좋습니다. 테이블 이름은 숫자, 문자, 밑줄의 조합만 사용할 수 있습니다.
- 유형: 문자열
- 필수: 예
- 기본값: 없음
- tableDesc
- 설명: 테이블의 주석을 가져옵니다. 나중에 테이블을 조회하고 의미를 명확히 하기 위해 이 매개변수를 구성하는 것이 좋습니다.
- 유형: 문자열
- 필수: 아니요
- 기본값: 없음
- partitionValue
- 설명: 가져올 파티션 값입니다. TA 시스템에 의해 가져온 사용자 정의 테이블은 기본적으로 파티션 필드 $pt를 포함하므로, 가져올 때 파티션 값을 지정해야 합니다. 일반적으로 가져온 데이터 날짜로 설정할 수 있으며 예: 20180701, 시간 매크로 치환도 지원합니다. 예: @[{yyyMMdd} - {1day}]. 섹션 XXXX에서 구체적인 사용 방법을 소개합니다.
- 유형: 문자열
- 필수: 예
- 기본값: 없음
- writeMode
- 설명: TACustomTableWriter의 데이터 쓰기 전 처리 모드:
- append: partitionValue 파티션처럼 데이터를 누적하여 씁니다.
- overwrite: 기존 partitionValue 파티션 아래의 파일을 삭제한 다음 이번에 가져온 데이터를 씁니다.
- 필수: 예
- 기본값: 없음
- 설명: TACustomTableWriter의 데이터 쓰기 전 처리 모드:
- column
- 설명: 데이터를 쓸 필드
- 필수: 예
- 기본값: 없음
- name은 필드 이름을 지정하고, type은 필드 유형을 지정합니다.
사용자는 다음과 같이 Column 필드 정보를 지정할 수 있습니다:
"column":
[
{
"name": "userName",
"type": "string"
},
{
"name": "age",
"type": "long"
}
]
# 3.3 유형 변환
현재 TACustomTableWriter는 HIVE 유형을 지원합니다. 자신의 유형을 확인하십시오.
다음은 HIVE 데이터 유형에 대한 TACustomTableWriter 변환 목록입니다:
DataX 내부 유형 | HIVE 데이터 유형 |
---|---|
Long | TINYINT,SMALLINT,INT,BIGINT |
Double | FLOAT,DOUBLE |
String | STRING,VARCHAR,CHAR |
Boolean | BOOLEAN |
Date | DATE,TIMESTAMP |