menu
Is this helpful?

# TaDataWriter 플러그인

# 1. 소개

TaDataWriter는 DataX가 데이터를 TA 클러스터로 전송할 수 있게 하며, 이 데이터는 TA의 수신 주소로 전송됩니다.

# 2. 기능 및 제한 사항

TaDataWriter는 DataX 프로토콜 데이터를 TA 클러스터의 내부 데이터로 변환할 수 있습니다. TaDataWriter는 다음과 같은 기능을 가지고 있습니다:

  1. TA 클러스터에만 데이터를 전송할 수 있습니다.
  2. 데이터 압축을 지원합니다. 지원되는 압축 형식은 gzip, lzo, lz4, snappy입니다.
  3. 다중 스레드 전송을 지원합니다.
  4. TA 노드에서만 지원됩니다.

# 3. 기능 설명

# 3.1 샘플 구성

{
  "job": {
    "setting": {
      "speed": {
        "channel": 1
      }
    },
    "content": [
      {
        "reader": {
          "name": "streamreader",
          "parameter": {
            "column": [
              {
                "value": "ABCDEFG-123-abc",
                "type": "string"
              },
              {
                "value": "F53A58ED-E5DA-4F18-B082-7E1228746E88",
                "type": "string"
              },
              {
                "value": "login",
                "type": "string"
              },
              {
                "value": "2020-01-01 01:01:01",
                "type": "date"
              },
              {
                "value": "abcdefg",
                "type": "string"
              },
              {
                "value": "2019-08-08 08:08:08",
                "type": "date"
              },
              {
                "value": 123456,
                "type": "long"
              },
              {
                "value": true,
                "type": "bool"
              }
            ],
            "sliceRecordCount": 1000
          }
        },
        "writer": {
          "name": "ta-data-writer",
          "parameter": {
            "type": "track",
            "appid": "34c703a885014208a737911748a7b51c",
            "column": [
              {
                "index": "0",
                "colTargetName": "#account_id",
                "type": "string"
              },
              {
                "index": "1",
                "colTargetName": "#distinct_id"
              },
              {
                "index": "2",
                "colTargetName": "#event_name"
              },
              {
                "index": "3",
                "colTargetName": "#time",
                "type": "date",
                "dateFormat": "yyyy-MM-dd HH:mm:ss.SSS"
              },
              {
                "index": "4",
                "colTargetName": "testString",
                "type": "string"
              },
              {
                "index": "5",
                "colTargetName": "testDate",
                "type": "date",
                "dateFormat": "yyyy-MM-dd HH:mm:ss.SSS"
              },
              {
                "index": "6",
                "colTargetName": "testLong",
                "type": "number"
              },
              {
                "index": "7",
                "colTargetName": "testBoolean",
                "type": "boolean"
              },
              {
                "colTargetName": "add_clo",
                "value": "addFlag",
                "type": "string"
              }
            ]
          }
        }
      }
    ]
  }
}

# 3.2 파라미터 설명

  • type
    • 설명: 작성되는 데이터 유형, user_set, track
    • 필수 여부: 예
    • 기본 값: 없음
  • appid
    • 설명: 프로젝트 appid
    • 필수 여부: 예
    • 기본 값: 없음
  • thread
    • 설명: 스레드 수
    • 필수 여부: 아니오
    • 기본 값: 3
  • compress
    • 설명: 텍스트 압축 유형. 기본적으로, 아무것도 입력하지 않으면 압축되지 않습니다. 지원되는 압축 유형은 gzip, lzo, lz4 및 snappy입니다.
    • 필수 여부: 아니오
    • 기본 값: 압축 없음
  • connType
    • 설명: 클러스터 내에서 데이터를 수신하는 방법, 수신기로 전송하거나 직접 Kafka로 전송
    • 필수 여부: 아니오
    • 기본 값: http
  • column
    • 설명: 필드 목록을 읽습니다. type은 데이터 유형을 지정하고, indexreader에 해당하는 현재 열을 지정합니다(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 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 유형에 의해 모두 읽음

# 3.3 유형 변환

유형은 TaDataWriter로 정의됩니다:

DataX internal type

TaDataWriter data type

Int

Number

Long

Number

Double

Number

String

String

Boolean

Boolean

Date

Date