Suporte a tipo variante para Apache Iceberg e Delta Lake
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:
CREATE TABLE table_name (variant_column VARIANT)
Para habilitar o suporte para VARIANT em uma tabela existente, use a seguinte sintaxe:
ALTER TABLE table_name SET TBLPROPERTIES('delta.feature.variantType-preview' = 'supported')
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 BYouORDER BY. - Não é possível chamar
DISTINCTem 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
minValuesoumaxValues. - Uma coluna variante não pode conter um valor maior que 128 MiB (16 MiB no Databricks Runtime 17.1 e abaixo).