ロード ユーティリティを使用したJSONデータのロード - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - JSONデータ型

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年9月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/gzn1554761068186.ditamap
dita:ditavalPath
ja-JP/gzn1554761068186.ditaval
dita:id
evi1472243742653
Product Category
Software
Teradata Vantage

JSONデータのロードは、LOBまたはXMLデータのロードと同じです。ロード スクリプトで"JSON"キーワードを使用して列の型を定義します。LOBデータと同じように、サイズが64KB未満(64,000文字のLATIN文字または32,000文字のUNICODE文字)の場合、インライン モードでロードできます。それ以外の場合は、列を"JSON AS DEFERRED BY NAME"(外部ファイルに存在するデータを含む)に指定する必要があります。この列で、クライアントおよびVantageがデータを移動する複数の呼び出しを行ないます。

JSONデータのロードとアンロードに次のロード ユーティリティを使用できます。
  • Teradata Parallel Transporter(Teradata PT)SQL Inserterオペレータを使用すると、JSONデータをテーブルにロードできます。
  • Teradata PT SQL Selectorオペレータを使用すると、テーブルからJSONデータをアンロードできます。
  • Teradata PT Data Connectorオペレータを使用すると、ファイルへのJSONデータの書き込みおよびファイルからのJSONデータの読み取りが可能です。
次に、Teradata PTスキーマ定義でJSON構文を使用する方法を示します。
DEFINE SCHEMA TEST_SCHEMA
DESCRIPTION 'PRODUCT INFORMATION SCHEMA'
(
   COL1_INT      INTEGER,
   COL2_CHAR     CHAR(10),
   COL3_JSON     JSON(1000),
   COL4_BIGINT   BIGINT,
   COL5_JSON     JSON(16776192) AS DEFERRED BY NAME,
   COL6_VARCHAR  VARCHAR(20)
);
次に、Teradata PT SQL Inserterオペレータによって生成されるUSING句のサンプルを示します。
USING COL1_INT(INTEGER),
   COL2_CHAR(CHAR(10)),
   COL3_JSON(CLOB(1000)),
   COL4_BIGINT(BIGINT),
   COL5_JSON(CLOB(16776192) AS DEFERRED),
   COL6_VARCHAR(VARCHAR(20))
INSERT INTO target_table
VALUES (:COL1_INT, :COL2_CHAR, :COL3_JSON, :COL4_BIGINT,
        :COL5_JSON, :COL6_VARCHAR);
Teradata PTロード ユーティリティの詳細については、次のドキュメントを参照してください。
  • Teradata® Parallel Transporterリファレンス、B035-2436
  • Teradata® Parallel Transporterユーザー ガイド、B035-2445
一般に、レガシーの各種スタンドアロン ロード ツールやParallel Transporterを使用して、FastLoad、MultiLoad、またはFastExportプロトコルを利用するLOB JSONデータをインポートまたはエクスポートすることはできません。ただし以下の場合に、これらのユーティリティを使用してJSONデータをロードまたはアンロードできます。
  • JSONデータはそれが64KB未満の場合はロードできます。ターゲット テーブルは列をCHARまたはVARCHARとして定義します。
  • ユーザーがJSONとVARCHARまたはVARBYTE間で変換を実行する変換グループを使用する場合。

VARCHARまたはVARBYTE変換を使用してFastLoadまたはMultiLoadを利用するJSONデータをロードする場合、インポートされたデータは行に収まる必要があります。インラインで格納できない場合、入力行はエラー テーブルに置かれます。

MLOADXプロトコルは、任意の変換を使用して、種類の指定されたインライン長の制限なしでLOB JSONデータをロードできます。

JSON型の定義済み変換グループの詳細については、JSON型の変換グループを参照してください。