Evolução de partições em tabelas Apache Iceberg no Snowflake
Agora é possível alterar a especificação de partição de tabelas Iceberg gerenciadas pelo Snowflake sem reescrever dados históricos.
O que mudou
A evolução de partições permite modificar a estratégia de particionamento de tabelas Apache Iceberg gerenciadas pelo Snowflake após a sua criação, adicionando, removendo ou substituindo campos de partição sem a necessidade de reescrever os dados existentes. Os novos dados gravados passam a utilizar a especificação atualizada, enquanto os dados antigos permanecem inalterados.
Para que serve
Imagine que sua volumetria de dados cresceu e o particionamento atual por dia deixou de ser eficiente para consultas, exigindo uma estratégia por hora ou por buckets.
- Adicionar novos campos de partição em tabelas existentes.
- Remover campos de partição que não são mais necessários.
- Substituir regras de partição existentes por novas especificações sem custo de reescrita.
Como usar
ALTER ICEBERG TABLE myTable ADD PARTITION BY (BUCKET(10, col1));
O que acontece nesse código:
- O comando altera a especificação de partição da tabela especificada.
- Um novo campo de partição baseado em buckets é adicionado.
- Apenas os dados inseridos após a execução começam a usar a nova regra.
ALTER ICEBERG TABLE myTable REPLACE PARTITION BY (BUCKET(10, col1)) WITH (BUCKET(20, col1));
O que acontece nesse código:
- O comando localiza o campo de partição atual baseado em 10 buckets.
- A regra é substituída por uma nova divisão em 20 buckets.
- Dados antigos permanecem na especificação anterior e novos dados utilizam a nova contagem.
Limitações e requisitos
- Recurso disponível em General Availability (GA).
- Válido apenas para tabelas Iceberg gerenciadas pelo Snowflake.
- A execução do comando exige o privilégio OWNERSHIP na tabela.
- É permitido alterar apenas um campo de partição por comando.
- Não é possível habilitar clustering em tabelas que possuem ou já possuíram transforms de partição definidos.
- Não é permitido excluir colunas que façam parte da especificação de partição atual ou histórica.
Como aplicar num pipeline
Útil na camada Silver ou Gold para ajustar a estratégia de armazenamento de grandes tabelas lakehouse conforme o padrão de consumo das queries evolui, evitando o esforço de recriar a tabela do zero.
- iceberg
- partitioning
- tables
- snowflake-managed
- sql
Apache Iceberg™ tables: Partition evolution (General availability)
Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.
Relacionadas
- SnowflakeGA
Geração de documentos em PDF, Word e PowerPoint no Snowflake CoWork
O Snowflake CoWork agora gera arquivos PDF, Word, PowerPoint e HTML diretamente de suas análises usando a ferramenta de execução de código do Cortex Agent.
snowflake cowork · cortex agent - SnowflakePublic Preview
Cortex Agent SDK para Python e TypeScript no Snowflake
O Cortex Agent SDK permite criar aplicações que utilizam Cortex Agents e Cortex Code em Python e TypeScript.
cortex agents · python - SnowflakeAtualização
Mensagens de erro mais detalhadas na classificação de dados sensíveis
A view DATA_CLASSIFICATION_LATEST agora traz mensagens de erro específicas e códigos do Snowflake para falhas na classificação.
data governance · trust center