メインコンテンツまでスキップ

TaJsonWriterプラグイン

最終更新 2026/10/03

1. はじめに​

TaJsonWriterは、AE JSON形式のファイルをローカルファイルに書き込む機能を提供します。TaJsonWriterは、AEクラスターのデータをjsonテキストに復元する必要があるユーザー向けです。

2. 機能と制限​

TaJsonWriterは、DataXプロトコルからAE JSON形式のローカルファイルへの変換機能を実装しています。TaJsonWriterには次の取り決めがあります:

  1. AE形式のjsonテキストファイルへの書き込みにのみ対応しています。
  2. マルチスレッドでの書き込みに対応しており、スレッドごとに異なるサブファイルに書き込みます。

3. 機能の説明​

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 パラメータの説明​

  • path

    • 説明:ローカルファイルシステムのパス情報。TaJsonWriterはPathディレクトリ配下の複数のファイルに書き込みます。
    • 必須:はい
    • デフォルト値:なし

fileName

  • 説明:TaJsonWriterが書き込むファイル名。このファイル名にランダムなサフィックスを付けたものが、各スレッドが書き込む実際のファイル名になります。
  • 必須:はい
  • デフォルト値:なし
  • writeMode

    • 説明:TaJsonWriterの書き込み前のデータクリーンアップの処理モード:

      • truncate:書き込み前に、ディレクトリ内のfileNameをプレフィックスとするすべてのファイルを削除します。
      • append:書き込み前に何も処理せず、DataX TaJsonWriterがfilenameで直接書き込み、ファイル名が衝突しないようにします。
      • nonConflict:ディレクトリ内にfileNameをプレフィックスとするファイルがある場合は、直接エラーを返します。
    • 必須:はい

    • デフォルト値:append

  • encoding

    • 説明:読み取るファイルのエンコーディング設定です。
    • 必須:いいえ
    • デフォルト値:utf-8
  • column

    • 説明:読み取るフィールドのリスト。type でデータのタイプを指定し、index で現在の列が reader の何列目(0から数える)に対応するかを指定します。value は現在のタイプを定数として指定し、reader からデータを読み取らずに、value の値に基づいて対応する列を自動生成します。

Columnのフィールド情報を指定することもできます。設定は次のとおりです:

[
{
"type": "Number",
"colTargetName": "test_col", //生成するデータに対応する列名
"index": 0 //readerからdataxに転送される1列目から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 型変換​

タイプはTaJsonWriterで定義されています:

DataX内部型TaJsonWriterデータタイプ
IntNumber
LongNumber
DoubleNumber
StringString
BooleanBoolean
DateDate
このページは役に立ちましたか?