目录
此内容是否有帮助?

# TaDataxWriter プラグイン

# 一、紹介する

TaDataxWriter は DataX の書き込みデータプラグインで、DataX エコロジーで TA クラスタにデータを転送する機能を提供します。DataX でサポートされているデータソース読み取りプラグインとこのプラグインを使用して、データ転送サーバーに DataX をデプロイして、マルチデータソースと TA クラスタのデータ同期を実現できます。

DataX については、DataX のGithub ホームページをご覧ください (opens new window)

TA 受信側にデータを送信する方式

# 二、機能と制限

TaDataWriter は、DataX プロトコルから TA クラスタの内部データ機能への移行を実装しました。

  1. サポートされており、TA クラスタへの書き込みのみがサポートされています。
  2. データ圧縮をサポートし、既存の圧縮形式は gzip、lzo、lz4、snappy です。
  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
  • datax/plugin/writer ディレクトリに ta-datax-writer.tar.gz をコピーします
cp ta-datax-writer.tar.gz datax/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://{数据接收地址}",
            "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 パラメータの説明

    • 説明: DataX のチャネル数に関係なく、各チャネル内で同時に使用されるスレッド数。
    • 必須:いいえ
    • デフォルト: 3
  • pushUrl
    • 説明:アクセスポイントアドレス。
    • 必須:はい
    • デフォルト:なし
  • uuid
    • 説明:送信データに「#uuid」:「uuid 値」を追加し、データ固有 ID機能と併用する。
    • 必須:いいえ
    • デフォルト: false
  • タイプ
    • 説明:書き込まれたデータ型 user_set, track
    • 必須:はい
    • デフォルト:なし
  • 圧縮
    • 説明:テキスト圧縮タイプ、デフォルトで記入しないと圧縮がないことを意味します。サポート圧縮タイプは zip、lzo、lzop、tgz、bzip2。
    • 必須:いいえ
    • デフォルト:圧縮なし
  • appid
    • 説明:対応するプロジェクトの APP ID。
    • 必須:はい
    • デフォルト:なし
  • コラム
    • 説明:読み取りフィールドリスト、type はデータのタイプを指定し、index は現在の列が reader の何番目の列に対応するか(0 で始まる)を指定し、value は現在のタイプを定数として指定し、reader からデータを読み取るのではなく、value 値に基づいて対応する列を自動的に生成する。

ユーザーは Column フィールド情報を指定できます。

[
  {
    "type": "Number",
    "colTargetName": "test_col", //生成数据对应的列名
    "index": 0 //从reader到datax传输第一列获取Number字段
  },
  {
    "type": "string",
    "value": "testvalue",
    "colTargetName": "test_col"
    //从TaDataWriter内部生成testvalue的字符串字段作为当前字段
  },
  {
    "index": 0,
    "type": "date",
    "colTargetName": "testdate",
    "dateFormat": "yyyy-MM-dd HH:mm:ss.SSS"
  }
]

4.3 Array タイプの説明

  • array 型を使用する場合、読み取り側のデータは文字列型で\t 区切り
    • 読み取り側のデータサンプル:"aaa\tbbb\tccc\tddd"
    • 変換後の結果:["aaa","bbb","ccc","ddd"]

# 4.3 タイプ変換

型は TaDataWriter 定義:

DataX内部型
TaDataWriterデータ型
Int
番号
ロング
番号
ダブル
番号


ブール型
ブール型
日付
日付
アレイ
アレイ