# TaJsonFileWriter プラグイン
# 一、紹介する
TaJsonWriter は TA-JSON 形式でローカルテキストに書き込むテキストを提供します。TaJsonWriter は、TA クラスタデータを json テキストに復元する必要があるユーザーにサービスを提供します。
# 二、機能と制限
TaJsonWriter は、DataX プロトコルから TA-json 形式へのネイティブテキスト変換を実装します。
- サポートされており、TA 形式の 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 |  番号 | 
| ロング |  番号 | 
| ダブル |  番号 | 
| 弦 |  弦 | 
| ブール型 |  ブール型 | 
| 日付 |  日付 | 
