Podpora typů variant pro Apache Iceberg a Delta Lake

Important

Tato funkce je ve verzi Public Preview.

Datový VARIANT typ ukládá částečně strukturovaná data. Příklady práce s daty VARIANTvariant najdete v tématu Dotazování na data variant.

Všechny tabulky Apache Iceberg v3 zahrnují VARIANT podporu typů. Viz Použití funkcí Apache Iceberg v3. U tabulek Delta Lake je nutné explicitně povolit VARIANT podporu typů.

Databricks Runtime 15.4 LTS nebo vyšší je nutné použít ke čtení a zápisu tabulek s povolenou podporou variant.

Povol variantu v tabulce

Pokud chcete povolit variantu, vytvořte novou tabulku se sloupcem VARIANT typu:

CREATE TABLE table_name (variant_column VARIANT)

Pokud chcete povolit podporu pro VARIANT existující tabulku, použijte následující syntaxi:

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

Note

Povolení variant upgraduje protokol zápisu tabulek. To může mít vliv na kompatibilitu s externími klienty Delta Lake. Viz kompatibilita a protokoly funkcí Delta Lake.

Limitations

Podpora datového VARIANT typu má následující omezení:

  • K rozdělení tabulky nemůžete použít variantní sloupce.
  • Variantní sloupec nemůže být klíč clusteringu pro tabulku.
  • Nemůžete použít variantní sloupce s GROUP BY klauzulemi ani ORDER BY klauzulemi.
  • Nemůžete volat DISTINCT ve sloupci varianty.
  • Nemůžete použít operátory sady SQL (INTERSECT, UNION, EXCEPT) s variantami sloupců.
  • Generování sloupců není možné použít k vytvoření sloupce varianty.
  • Variantní sloupce nepodporují minValues ani maxValues statistiky.
  • Sloupec variant nemůže obsahovat hodnotu větší než 128 MiB (16 MiB v Databricks Runtime 17.1 a níže).