Suporte de tipos variantes para Apache Iceberg e Delta Lake

Important

Este recurso está no Public Preview.

O VARIANT tipo de dados armazena dados semi-estruturados. Para obter exemplos sobre como trabalhar com VARIANT, consulte Dados de variantes de consulta.

Todas as tabelas Apache Iceberg v3 incluem suporte para o tipo VARIANT. Consulte Usar recursos do Apache Iceberg v3. Para as tabelas Delta Lake, tem de ativar explicitamente o suporte para tipos VARIANT.

Deve usar Databricks Runtime 15.4 LTS ou superior para ler e escrever tabelas com suporte variante ativado.

Ativar variante numa tabela

Para permitir variantes, crie uma nova tabela com uma VARIANT coluna de tipo:

CREATE TABLE table_name (variant_column VARIANT)

Para permitir suporte para VARIANT numa tabela existente, use a seguinte sintaxe:

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

Note

A ativação da variante atualiza o protocolo do escritor de tabelas. Isto pode afetar a compatibilidade com clientes externos da Delta Lake. Consulte Compatibilidade de recursos e protocolos do Delta Lake.

Limitações

O suporte ao VARIANT tipo de dados apresenta as seguintes limitações:

  • Não podes usar colunas variantes para particionar uma tabela.
  • Uma coluna variante não pode ser uma chave de agrupamento para uma tabela.
  • Não é possível usar colunas variantes com cláusulas de GROUP BY, ou ORDER BY.
  • Não podes chamar DISTINCT numa coluna variante.
  • Não podes usar operadores de conjunto SQL (INTERSECT, UNION, EXCEPT) com colunas variantes.
  • Não podes usar geração de colunas para criar uma coluna variante.
  • Colunas variantes não suportam minValues ou estatísticas maxValues.
  • Uma coluna variante não pode conter um valor superior a 128 MiB (16 MiB em Databricks Runtime 17.1 e inferior).