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