# TaJsonFileWriterプラグイン
# 一、紹介する
TaJsonWriterはTE-JSON形式でローカルテキストに書き込むテキストを提供します。TaJsonWriterは、TEクラスタデータをjsonテキストに復元する必要があるユーザーにサービスを提供します。
# 二、機能と制限
TaJsonWriterは、DataXプロトコルからTE-json形式へのネイティブテキスト変換を実装します。
- サポートされており、TE形式のjsonテキストブックへの書き込みのみをサポートしています。
- マルチスレッド書き込みをサポートし、スレッドごとに異なるサブテキストを書き込みます。
# 三、機能説明
# 3.1構成サンプル
{
"job": {
"setting": {
"speed": {
"channel": 1
}
},
"content": [
{
"reader": {
"name": "streamreader",
"parameter": {
"column": [
{
"value": 123123,
"type": "long"
},
{
"value": "123123",
"type": "string"
},
{
"value": "login",
"type": "string"
},
{
"value": "2019-08-16 08:08:08",
"type": "date"
},
{
"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": 100
}
},
"writer": {
"name": "ta-json-writer",
"parameter": {
"type": "event",
"path": "/data/export/ta_datafile/",
"filename": "test",
"column": [
{
"index": "0",
"colTargetName": "#user_id"
},
{
"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": "#event_time",
"type": "string"
},
{
"index": "5",
"colTargetName": "#account_id",
"type": "string"
},
{
"index": "6",
"colTargetName": "timetest",
"type": "date",
"dateFormat": "yyyy-MM-dd HH:mm:ss.SSS"
},
{
"index": "6",
"colTargetName": "timetest2",
"type": "date",
"dateFormat": "yyyy-MM-dd HH:mm:ss"
},
{
"index": "7",
"colTargetName": "os_1",
"type": "string"
},
{
"index": "7",
"colTargetName": "os_2",
"type": "string"
},
{
"index": "8",
"colTargetName": "booleantest",
"type": "boolean"
},
{
"index": "0",
"colTargetName": "testNumber",
"type": "number"
},
{
"colTargetName": "add_clo",
"value": "123123",
"type": "string"
}
]
}
}
}
]
}
}
# 3.2パラメータの説明
- 経路
- 説明:ローカルブックシステムのパス情報、TaJsonWriterはパスディレクトリの下に複数のブックを書き込みます。
- 必須:はい
- デフォルト:なし
ファイル名
- 説明: TaJsonWriterは、スレッドごとにランダムなサフィックスを追加して実際のテキストに書き込むテキスト名を書き込みます。
- 必須:はい
- デフォルト:なし
- ライトモード
- 説明: TaJsonWriter書き込み前データクリーンアップ処理モード:
- truncate、書き込み前にディレクトリの次のfileNameプレフィックスのすべてのテキストをクリーンアップします。-append、書き込み前に何も処理せず、DataXTAJsonWriterはファイル名を使用して直接書き込み、テキスト名が競合しないことを保証します。-nonConflict、ディレクトリの下にfileNameプレフィックスのテキストがある場合は、直接エラーを報告します。
- 必須:はい
- truncate、書き込み前にディレクトリの次のfileNameプレフィックスのすべてのテキストをクリーンアップします。-append、書き込み前に何も処理せず、DataXTAJsonWriterはファイル名を使用して直接書き込み、テキスト名が競合しないことを保証します。-nonConflict、ディレクトリの下にfileNameプレフィックスのテキストがある場合は、直接エラーを報告します。
- デフォルト: append
- 説明: TaJsonWriter書き込み前データクリーンアップ処理モード:
- エンコーディング
- 説明:読み取りテキストのエンコード構成。
- 必須:いいえ
- デフォルト: utf-8
- コラム
- 説明:読み取りフィールドリスト、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"
}
]
# 3.3タイプ変換
型はTaJsonFileWriter定義:
DataX内部型 | TaJsonWriterデータ型 |
---|---|
Int | 番号 |
ロング | 番号 |
ダブル | 番号 |
弦 | 弦 |
ブール型 | ブール型 |
日付 | 日付 |