Pular para o conteúdo principal

Suporte a tipo variante para Apache Iceberg e Delta Lake

info

Visualização

Esse recurso está em Prévia Pública.

O tipo de dados VARIANT armazena dados semiestruturados. Para exemplos de como trabalhar com VARIANT, consulte Consultar dados variantes.

Todas as tabelas Apache Iceberg v3 incluem suporte ao tipo VARIANT. Veja Usar os recursos do Apache Iceberg v3. Para tabelas Delta Lake, você deve habilitar explicitamente o suporte para o tipo VARIANT.

É preciso usar o Databricks Runtime 15.4 LTS ou acima para ler e gravar tabelas com o suporte a variantes ativado.

Habilitar variante em uma tabela

Para habilitar variantes, crie uma nova tabela com uma coluna do tipo VARIANT:

SQL
CREATE TABLE table_name (variant_column VARIANT)

Para habilitar o suporte para VARIANT em uma tabela existente, use a seguinte sintaxe:

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

Ativar variante atualiza o protocolo do gravador da tabela. Isso pode afetar a compatibilidade com clientes externos do Delta Lake. Consulte a compatibilidade de recursos e protocolos do Delta Lake.

Limitações

O suporte para o tipo de dados VARIANT tem as seguintes limitações:

  • Não é possível usar colunas variantes para particionar uma tabela.
  • Uma coluna variante não pode ser uma chave de cluster para uma tabela.
  • Não é possível usar colunas variantes com as cláusulas GROUP BY ou ORDER BY.
  • Não é possível chamar DISTINCT em uma coluna de variante.
  • Você não pode usar operadores de conjunto SQL (INTERSECT, UNION, EXCEPT) com colunas variantes.
  • Não é possível usar a geração de colunas para criar uma coluna variante.
  • Colunas do tipo Variant não aceitam estatísticas de minValues ou maxValues.
  • Uma coluna variante não pode conter um valor maior que 128 MiB (16 MiB no Databricks Runtime 17.1 e abaixo).