menu
Is this helpful?

# Ta-Datax-Writer 플러그인 사용 가이드

# 1. 소개

Ta-Datax-Writer는 DataX의 쓰기 데이터 플러그인으로, DataX 생태계에서 TE 클러스터로 데이터를 전송하는 기능을 제공합니다. DataX에서 지원하는 데이터 소스 읽기 플러그인과 이 플러그인을 사용하여, 데이터 전송 서버에 DataX를 배포하고, 다중 데이터 소스와 TE 클러스터의 데이터 동기화를 실현할 수 있습니다.

DataX에 대해서는, DataX의 Github 홈페이지 (opens new window)를 참조하십시오.

TE 수신측에 데이터를 전송하는 방식

# 2. 기능과 제한

TaDataWriter는 DataX 프로토콜에서 TE 클러스터의 내부 데이터 기능으로의 이전을 구현했습니다.

  1. 지원되며, TE 클러스터로의 쓰기만 지원됩니다.
  2. 데이터 압축을 지원하며, 기존 압축 형식은 gzip, lzo, lz4, snappy입니다.
  3. 멀티 스레드 전송을 지원합니다.

# 3. 사용 설명

# 3.1 datax의 다운로드

wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

# 3.2 datax의 압축 해제

tar -zxvf datax.tar.gz

# 3.3 ta-datax-writer 플러그인 설치

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. 기능 설명

# 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 기능과 함께 사용합니다.
    • 필수: 아니오
    • 기본값: false
  • type
    • 설명: 쓰여진 데이터 유형 user_set, track
    • 필수: 예
    • 기본값: 없음
  • compress
    • 설명: 텍스트 압축 타입, 기본적으로 기입하지 않으면 압축이 없음을 의미합니다. 지원 압축 타입은 zip, lzo, lzop, tgz, bzip2
    • 필수: 아니오
    • 기본값: 압축 없음
  • appid
    • 설명: 해당 프로젝트의 appid
    • 필수: 예
    • 기본값: 없음
  • column
    • 설명: 읽기 필드 리스트, type은 데이터의 유형을 지정하며, index는 현재 열이 reader의 몇 번째 열에 해당하는지(0부터 시작)를 지정하고, value는 현재 유형을 상수로 지정하여, reader에서 데이터를 읽는 것이 아니라, value 값에 기반하여 해당 열을 자동으로 생성합니다. 사용자는 Column 필드 정보를 지정할 수 있습니다.
[
  {
    "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"
  }
]
  • 사용자가 Column 정보를 지정하는 경우, index/value 중 하나를 선택해야 하며, type은 필수가 아닙니다. date 유형을 설정하는 경우, dataFormat은 필수가 아닙니다.
    • 필수: 예
    • 기본값: 모든 reader 타입으로 읽기

# 4.3 유형 변환

TaDataWriter의 유형 정의:

DataX internal type TaDataWriter data type
Int Number
Long Number
Double Number
String String
Boolean Boolean
Date Date