Поддержка вариантов в Delta Lake
Внимание
Эта функция предоставляется в режиме общедоступной предварительной версии.
Тип данных можно использовать VARIANT
для хранения полуструктурированных данных в Delta Lake. Примеры работы с данными о варианте запроса см. в разделе "Примеры работы с VARIANT
данными о варианте запроса".
Для чтения и записи таблиц с поддержкой вариантов необходимо использовать Databricks Runtime 15.3 или более поздней версии.
Включение варианта в таблице Delta
Чтобы включить вариант, создайте новую таблицу со столбцом VARIANT
типа, например:
CREATE TABLE table_name (variant_column VARIANT)
Вы также можете включить поддержку VARIANT
существующей таблицы с помощью следующего синтаксиса:
ALTER TABLE table_name SET TBLPROPERTIES('delta.feature.variantType-preview' = 'supported')
Предупреждение
При включении варианта протокол таблицы обновляется. После обновления таблица не будет читаема клиентами Delta Lake, которые не поддерживают вариант. См. статью Как Azure Databricks управляет совместимостью функций Delta Lake?.
Ограничения
Применяются следующие ограничения:
- Нельзя использовать вариантные столбцы для секционирования таблицы.
- Столбец variant не может быть ключом кластеризации для таблицы.
- Нельзя использовать вариантные столбцы с предложениями
GROUP BY
илиORDER BY
. - Невозможно вызвать
DISTINCT
в столбце variant. - Операторы набора SQL (
INTERSECT
,UNION
,EXCEPT
) нельзя использовать с столбцами вариантов. - Создание столбца невозможно использовать для создания столбца variant.
- Delta не собирает
minValues
илиmaxValues
статистику для вариантных столбцов.