Otimizar o desempenho dos dados VARIANT com fragmentação
Beta
Esse recurso está na versão beta.
Esta página descreve como usar a fragmentação para otimizar o desempenho da consulta em tabelas com dados semiestruturados nas colunas VARIANT.
Consulte VARIANT type, Variant support in Delta Lake e Query variant data.
O que é trituração?
A fragmentação melhora o desempenho da consulta dos dados do site VARIANT, armazenando campos que ocorrem com frequência como colunas separadas nos arquivos Parquet. Esse processo reduz a E/S necessária para ler campos e melhora a compactação usando um formato colunar em vez de um blob binário.
Requisitos
Databricks Runtime 17.2 ou acima é necessário para ler e gravar tabelas VARIANT fragmentadas.
Habilitar a destruição
Habilite a fragmentação para todo o site workspace por meio do Preview Portal. Nenhuma alteração no código é necessária para ler ou gravar dados VARIANT com destruição.
Depois que o senhor ativar o recurso para o seu workspace, a fragmentação será automaticamente ativada para os seguintes cenários:
CREATE TABLEcom uma ou mais colunasVARIANT.CREATE AND REPLACE TABLEcom uma ou mais colunasVARIANT.ALTER TABLEao adicionar uma ou mais colunasVARIANT.
Opte por não destruir em futuras gravações para uma tabela específica
Se o senhor ativar a fragmentação Beta para o site workspace, mas quiser excluir uma tabela específica, defina a propriedade enableVariantShredding table:
ALTER TABLE my_table SET TBLPROPERTIES ('delta.enableVariantShredding' = 'false');
Remover a destruição em uma tabela existente
Para remover a fragmentação em uma tabela existente, elimine o recurso com o comando ALTER TABLE. Essa operação também reescreve os dados fragmentados do site VARIANT no lugar do formato VARIANT não fragmentado e define a propriedade da tabela enableVariantShredding como false.
ALTER TABLE my_table DROP FEATURE "variantShredding-preview";
Limitações
- A destruição de dados gera alguma sobrecarga nas gravações.
- A ativação da destruição não converte automaticamente os dados
VARIANTexistentes em uma tabela. Aplica-se apenas aos dados gravados depois que o recurso é ativado. Para reescrever os dados existentesVARIANTuso de dadosREORG TABLE my_table APPLY (SHRED VARIANT). - A destruição se aplica às colunas
VARIANTde nível superior ou aos camposVARIANTem estruturas, excluindo os dadosVARIANTarmazenados em matrizes ou mapas.