menu
Is this helpful?

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

# 소개

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

DataX에 대해서는, DataX의Github 홈페이지를 확인해 주세요. (opens new window)

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

# 기능과 제한

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

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

# 사용 설명

# 3.1 데이터x의 다운로드

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 플러그인의 설치

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