17.10 - 使用上の注意 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - DATASETデータ型

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1198-171K-JPN
Language
日本語 (日本)

DATASET_PUBLISHは、異なるデータソース(SQL文で参照されるもの)からDATASETデータ型インスタンスを作成します。格納されたデータを外部から認識可能なファイル形式にエクスポートして、任意の格納形式のDATASETデータ型を公開します。DATASET_PUBLISHは、この操作の結果として構成されたデータを返す1つの出力列"data"を返します。

さまざまな形式:
  • Avroとして構成されたデータは、AVRO格納形式のDATASET型インスタンスとして返されます。AVROとして格納されたDATASETデータ型がDATASET_PUBLISHを使用してAvroインスタンスを作成するとき、そのスキーマは出力スキーマと結合されます。デフォルトでは、DATASETの値をAvro格納形式でパブリッシュします。
  • CSVとして構成されたデータは、CSV格納形式を持つDATASET型のインスタンスとして返されます。CSVファイルには、CSV列の名前とデータを含むヘッダー行が含まれています。指定されたスキーマにnull field_namesキーがある場合、ヘッダーはCSV値には含まれません。すべてのデータは、行と列の区切り記号を使用して区切られます。DATASET_PUBLISHを使用してCSVインスタンスを作成するすべてのTeradata複合データ型(DATASETを含む)は、テキスト表現に変換され、CSVインスタンスでは1つのフィールドとして扱われます。DATASET型にスキーマを含めるには、SCHEMA句を使用します。

    DATASET値にスキーマがあり、その値が列ベースのスキーマが定義されたテーブル列に挿入された場合、スキーマはその値から削除され、CSVデータは列ベースのスキーマに対して検証されます。

    JSONデータとDATASETデータは入力としてサポートされていません。

  • DATASET型に公開されたJSONデータは目的の格納形式に変換され、出力と結合されます。
  • DATASET_PUBLISHを使用してAVROまたはCSVインスタンスを作成するために使用されるその他のTeradata複合データ型は、テキスト表現に変換され、作成されるインスタンスでは1つのフィールドとして扱われます。固有UDTと構造化UDTはサポートされていないことに注意してください。

DATASET_PUBLISHを使用してAvroインスタンスを作成し、定義によりNULL受入れ可能として検出された型をパブリッシュする場合、スキーマはNULLのUNIONと対応するデータ型を使用して、型をそのようにマークします。つまり、フィールドのスキーマ型は、"type":"int"の代わりに"type":["null","int"]のようになります。

Nullは常に、自動生成されたAvroスキーマのUNIONの最初の構成要素であることが保証されます。