Partilhar via


Otimizar consultas de streaming stateless

Esta página descreve as funcionalidades de otimização disponíveis para consultas de streaming sem estado no Databricks Runtime 18.0 e superiores.

As consultas de Streaming Estruturado sem Estado processam dados sem manter o estado intermédio. Estas consultas não utilizam operadores com estado, como agregações de streaming, dropDuplicates ou junções stream-stream. Exemplos incluem consultas que usam joins estáticos de fluxo, MERGE INTO com tabelas Delta, e outras operações que apenas acompanham quais linhas foram processadas da origem ao sumidouro.

Execução Adaptativa de Consultas e Shuffle Automático Otimizado

O Azure Databricks suporta Execução Adaptativa de Consultas (AQE) e Auto Optimized Shuffle (AOS) para consultas de streaming sem estado. Estas funcionalidades ajudam a otimizar cargas de trabalho de streaming que utilizam junções entre fluxo e estático, MERGE INTO com tabelas Delta e operações semelhantes.

Para ativar o AQE para consultas de streaming stateless, defina a seguinte configuração para true. Isto está ativado por defeito:

spark.sql.adaptive.streaming.stateless.enabled true

Para ativar o AOS para consultas de streaming sem estado, ative o AQE e defina a seguinte configuração:

spark.sql.shuffle.partitions auto

Alterar partições das distribuições durante o reinício da consulta

As consultas de streaming sem estado suportam a alteração do número de partições de embaralhamento ao reiniciar uma consulta. Isto permite ajustar o paralelismo para acomodar volumes de entrada variados.

Esta funcionalidade é especialmente útil para cenários de retrocessão de dados históricos. Por exemplo, pode-se processar o preenchimento histórico com maior paralelismo e depois reduzir o paralelismo para entrada em tempo real.

Para alterar o número de partições de shuffle, defina a seguinte configuração para o valor desejado e reinicie a consulta de dados:

spark.sql.shuffle.partitions <number>