# TaDataxWriter プラグイン
# 一、紹介する
TaDataxWriter は DataX の書き込みデータプラグインで、DataX エコロジーで TA クラスタにデータを転送する機能を提供します。DataX でサポートされているデータソース読み取りプラグインとこのプラグインを使用して、データ転送サーバーに DataX をデプロイして、マルチデータソースと TA クラスタのデータ同期を実現できます。
DataX については、DataX のGithub ホームページをご覧ください (opens new window)
TA 受信側にデータを送信する方式
# 二、機能と制限
TaDataWriter は、DataX プロトコルから TA クラスタの内部データ機能への移行を実装しました。
- サポートされており、TA クラスタへの書き込みのみがサポートされています。
- データ圧縮をサポートし、既存の圧縮形式は gzip、lzo、lz4、snappy です。
- マルチスレッド転送をサポートします。
# 三、使用説明
# 3.1 datax のダウンロード
- DataX公式サイト (opens new window)
- DataX ツールキットのダウンロード:DataX ダウンロードアドレス (opens new window)
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 プラグインのインストール
- ダウンロード ta-datax-writer プラグイン:ta-datax-writer ダウンロードアドレス (opens new window)
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 | 番号 |
ロング | 番号 |
ダブル | 番号 |
弦 | 弦 |
ブール型 | ブール型 |
日付 | 日付 |
アレイ | アレイ |