自己記述データをサポートするためにTeradata Database 16.0で導入されたDATASETデータ型は、複数の格納形式をサポートするように設計されました。初期リリースでは、DATASETデータ型は、Avro格納形式をサポートしていました。今回の強化機能により、カンマ区切り値(CSV)格納形式のサポートが追加されます。既存のDATASET型で使用できるすべての機能(例えば、ドット表記、列レベルのスキーマ、関数など)は、新しいCSV格納形式でサポートされます。
利点
CSV格納形式には、次のものが用意されています。
- 可変長: 最大長と行内長の両方が可変です。
- 格納されているデータの変数形式: 既存のAvro格納形式に加えて、CSV形式のサポートが追加されます。
- メソッド: DATASET型を任意の格納形式および任意のスキーマで操作するためのメソッドが提供されています。
- 関数: DATASET型を任意の格納形式および任意のスキーマで操作する関数が提供されています。
- DATASETデータ型にパブリッシング: リレーショナル テーブルに格納されたデータを使用して、任意の格納形式およびスキーマを使用してDATASET型を作成します。
- シュレッディング: CSVデータ型をリレーショナル テーブルにシュレッディングします。
- 変換: CSVデータ型をAvroまたはJSONに変換します。
- 拡張ドット表記: Teradata Database 16.0で導入された拡張ドット表記は、新しいCSV格納形式でサポートされます。
- CSV格納形式は、ユーザー指定の列、レコード区切り記号、ヘッダー フィールド名など、CSV標準に対する拡張機能をサポートしています。これらの拡張機能のいずれかが使用されている場合は、スキーマを指定する必要があります。ユーザーは、DATASET型の任意の組み込み済み格納形式に対応するスキーマを列レベルまたはインスタンスレベルで定義できます。列レベルのスキーマは、その特定の列にロードされるデータ型のすべてのインスタンスをバインドするのに対して、インスタンス レベルのスキーマはインスタンスごとに異なる可能性があります。
考慮事項
CSVの値にスキーマが必要な場合、テーブル列がインスタンス レベルのスキーマではなく、列レベルのスキーマを使用するのであれば、必要なディスク領域は少なくなります。
SQLの変更
- Avro格納形式のDATASET型を使用できる場所ではどこでも、CSV格納形式のDATASET型を使用できます。例えば、CREATE CSV SCHEMA MySchemaです。
- SQLは変更されません。
追加情報
CSV格納形式の詳細については、<Teradata Vantage™ DATASETデータ型、B035-1198>を参照してください。