Pular para o conteúdo principal

Otimizar o desempenho dos dados VARIANT com fragmentação

info

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 colunas VARIANT.
  • CREATE AND REPLACE TABLE com uma ou mais colunas VARIANT.
  • ALTER TABLE ao adicionar uma ou mais colunas VARIANT.

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:

SQL
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.

SQL
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 existentes VARIANT uso de dados REORG TABLE my_table APPLY (SHRED VARIANT).
  • A destruição se aplica às colunas VARIANT de nível superior ou aos campos VARIANT em estruturas, excluindo os dados VARIANT armazenados em matrizes ou mapas.