17.10 - TeradataによるDATASETデータ型のサポート - 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
日本語 (日本)

Teradata DATASETデータ型は、スキーマに基づいて解釈される自己記述ファイルを表わす複合データ型(CDT)です。このデータ型は、データベースでのDATASETデータの格納と処理に対応する以下の機能を備えています。

機能 説明
格納と処理
  • 変数データ形式を格納します。Avroおよびカンマ区切り値(CSV)形式がサポートされています。
  • CDTの変数の最大長または行内の長さを指定します。
  • DATASET型の任意の組み込み済み格納形式に対応するスキーマを列レベルまたはインスタンスレベルで定義します。列レベルのスキーマは、その特定の列にロードされるデータ型のすべてのインスタンスをバインドするのに対して、インスタンスレベルのスキーマはインスタンスごとに異なる可能性があります。
メソッド、関数およびストアド プロシージャ DATASET型、任意の格納形式およびスキーマで動作します。
シュレッディング DATASETドキュメントから値を抽出し、抽出したデータをリレーショナル形式で格納します。
公開 リレーショナル テーブルに格納されているデータを公開し、任意の格納形式およびスキーマでDATASET型を構成します。
分析
  • DATASETデータに高度な分析を適用します。
  • DATASET型の抽出部分の統計を収集します。
SQL 標準的なSQLを使用してDATASETデータを問合わせます。
この機能では、データへのアクセスを容易にする拡張ドット表記も利用できます。ドット表記にはDATASETとJSONの両方に対応する以下の構文が含まれています。
  • 再帰下降演算子(..)
  • ワイルドカード(*) ― 名前付きアイテムとインデックス アイテムの両方を参照
  • 名前/インデックス リスト([a,b,c]または[0,3,5])
  • 名前/インデックス スライス([c]または[5])

DATASETデータ型のクライアント サポート

クライアント製品 DATASETのサポート
CLI DBSを全面的にネイティブ サポートしています。
ODBC
  • ODBCの仕様にはDATASETに固有のデータ型コードが含まれていません。したがって、ODBCドライバは、DATASETデータ型をODBC CLOBデータ型であるSQL_LONGVARCHARまたはSQL_WLONGVARCHARにマッピングします。メタデータはSQL_LONGVARCHARにマッピングされたTeradata CLOBデータ型とSQL_LONGVARCHARにマッピングされたTeradata DATASETデータ型の違いを識別します。
  • ODBCドライバは、LOB Inputパラメータ、LOB OutputパラメータおよびLOB InputOutputパラメータに対応しており、DATASETデータをロードできます。Catalog (データ ディクショナリ)関数はDATASETにも対応しています。
JDBC
  • Teradata JDBCドライバ15.10.00.23以降はDATASET型データをサポートしています。
  • Teradata JDBCドライバは、アプリケーションがPreparedStatement setObjectメソッドまたはCallableStatement setObjectメソッドを使用してStruct値をDATASETデータ型として疑問符パラメータ マーカーにバインドする機能を備えています。アプリケーションはDATASET宛先列にVARBYTE値またはBLOB値を挿入することもできます。
  • DATASET値をStruct値として指定するTeradata固有の機能をアプリケーションが使用する場合、Struct値にはByte Array、InputStream、BLOBまたはNULLのいずれかの属性が含まれている必要があります。StructにInputStream属性が含まれている場合、Structにはストリーム内のバイト数を指定する整数型である第2の属性も含まれている必要があります。
  • DATASET値はデータベースからBLOB値として取り出されます。アプリケーションは結果セット メタデータまたはパラメータ メタデータを使用してBLOB値とDATASET値の違いを識別することができます。
.NETデータ プロバイダ
  • DATASETデータ型はBLOBまたはVARBYTEとして外部化されます。アプリケーションでは、TdBlobまたはTdDataReader.GetBytesを使用してDATASET値を取得できます。
  • アプリケーションでは、DATASET値をBYTE[] としてデータベースに送信できます。
  • スキーマ集合体(データ ディクショナリ)は、DATASETデータ型もサポートします。
Teradata Parallel Transporter (TPT) DATASET列はCLOB列に似ており、同じ制約を受けます。DATASET列は16 MB (16,776,192個のLATIN文字または8,388,096個のUNICODE文字)を超えることはできません。DATASET列をロードまたはエクスポートする場合、TPTユーザーはTPTスキーマ定義でCLOBまたはVARCHARを指定する必要があります。
BTEQ DATASETキーワードをUSINGデータ文で使用することはできません。したがって、DATASET値はBLOBまたはVARBYTEのいずれかとして参照する必要があります。
スタンドアロン ユーティリティ サポートしません。

用語

データの内容と形式は絶えず変化しており、さまざまなファイル タイプが作成されています。独占所有権が設定されたファイル タイプや特定の業界またはアプリケーションに固有のファイル タイプがある一方、汎用のファイル タイプもあります。

一部のアプリケーションは特定の自己記述ファイル形式を使用します。万能な解決策はありません。さまざまなデータ型を使用することによって柔軟性が高くなります。AvroおよびCSV形式は自己記述データの例です。スキーマが指定されていると、バイトのセットはそのスキーマで記述されている項目のセットとして解釈されます。スキーマにデータが提供され、データが自己記述データになるため、さまざまなアプリケーションがデータを理解できます。

形式、目的、内容または利用頻度を問わず、大量の自己記述データが分析されます。データベースはドット表記を使用して、データの格納および操作をデータのネイティブ形式で行ないます。