Apache Iceberg と Delta Lake のバリアント型のサポート

Von Bedeutung

この機能は パブリック プレビュー段階です

VARIANTデータ型には、半構造化データが格納されます。 VARIANT の使用例については、「クエリ バリアント データ」を参照してください。

すべての Apache Iceberg v3 テーブルには、 VARIANT 型のサポートが含まれています。 Apache Iceberg v3 機能の使用を参照してください。 Delta Lake テーブルの場合は、 VARIANT 型のサポートを明示的に有効にする必要があります。

バリアント サポートが有効になっているテーブルの読み取りと書き込みを行うには、Databricks Runtime 15.4 LTS 以降を使用する必要があります。

テーブルのバリアントを有効にする

バリアント型を有効にするには、 VARIANT 型の列を含む新しいテーブルを作成します。

CREATE TABLE table_name (variant_column VARIANT)

既存のテーブルで VARIANT のサポートを有効にするには、次の構文を使用します。

ALTER TABLE table_name SET TBLPROPERTIES('delta.feature.variantType-preview' = 'supported')

Note

バリアントを有効にすると、テーブル ライター プロトコルがアップグレードされます。 これは、外部の Delta Lake クライアントとの互換性に影響する可能性があります。 Delta Lake の機能の互換性とプロトコルに関する記事を参照してください。

制限事項

VARIANT データ型のサポートには、次の制限があります。

  • バリアント列を使用してテーブルをパーティション分割することはできません。
  • バリアント列をテーブルのクラスタリング キーにすることはできません。
  • GROUP BY句またはORDER BY句でバリアント列を使用することはできません。
  • バリアント列に対して DISTINCT を呼び出すことはできません。
  • SQL セット演算子 (INTERSECTUNIONEXCEPT) をバリアント列と共に使用することはできません。
  • 列の生成を使用してバリアント列を作成することはできません。
  • バリアント型の列は、minValues または maxValues の統計をサポートしていません。
  • バリアント列には、128 MiB (Databricks Runtime 17.1 以降では 16 MiB) を超える値を含めることはできません。