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 TABLE
com uma ou mais colunasVARIANT
.CREATE AND REPLACE TABLE
com uma ou mais colunasVARIANT
.ALTER TABLE
ao 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
VARIANT
existentes em uma tabela. Aplica-se apenas aos dados gravados depois que o recurso é ativado. Para reescrever os dados existentesVARIANT
uso de dadosREORG TABLE my_table APPLY (SHRED VARIANT)
. - A destruição se aplica às colunas
VARIANT
de nível superior ou aos camposVARIANT
em estruturas, excluindo os dadosVARIANT
armazenados em matrizes ou mapas.