Apache IcebergおよびDelta Lakeのバリアント型サポート
備考
プレビュー
この機能は パブリック プレビュー段階です。
VARIANTデータ型は半構造化データを格納します。VARIANT の操作例については、「バリアント データのクエリ」を参照してください。
すべての Apache Iceberg v3 テーブルは VARIANT 型のサポートを含みます。Apache Iceberg v3 機能を使用するを参照してください。Delta Lake テーブルでは、VARIANT 型のサポートを明示的に有効にする必要があります。
バリアントサポートが有効なテーブルを読み書きするには、Databricks Runtime 15.4 LTS以降を使用する必要があります。
テーブルでバリアントを有効にする
バリアントを有効にするには、VARIANT型の列を持つ新しいテーブルを作成します。後述の例を参照してください。
SQL
CREATE TABLE table_name (variant_column VARIANT)
既存のテーブルで VARIANT のサポートを有効にするには、次の構文を使用します。
SQL
ALTER TABLE table_name SET TBLPROPERTIES('delta.feature.variantType-preview' = 'supported')
注記
バリアントを有効にすると、テーブルライタープロトコルがアップグレードされます。これは、外部のDelta Lakeクライアントとの互換性に影響を与える可能性があります。Delta Lake 機能の互換性とプロトコルを参照してください。
制限事項:
「VARIANT」データ型のサポートには、次の制限があります。
- テーブルのパーティション化にバリアント列は使用できません。
- バリアント列をテーブルのクラスタリング・キーにすることはできません。
- バリアント列は、
GROUP BYまたはORDER BY句では使用できません。 DISTINCTをバリアント列で呼び出すことはできません。- バリアント列では、SQLセット演算子(
INTERSECT、UNION、EXCEPT)を使用できません。 - バリアント列の作成に列生成は使用できません。
- VARIANT列は
minValuesまたはmaxValues統計をサポートしていません。 - バリアント列は、128 MiBを超える値を格納できません(Databricks Runtime 17.1以下では16 MiB)。