Troubleshooting: Corrigindo erros de execução de query no Data Warehouse
AnteriorBoas práticas de prompts para o Skyone StudioPróximoComo forçar tipos de dados em requisições Multipart
Atualizado
Isto foi útil?
Executar consultas excessivamente pesadas pode levar ao travamento do container de processamento. Como medida de reação, o sistema realiza até três tentativas automáticas de execução. Caso a falha persista, o processo é encerrado para proteger a integridade do ambiente.
Este artigo orienta você na investigação desses erros e na aplicação de técnicas de otimização para estabilizar seus DataJobs.
O erro é identificado de duas formas:
No Skyone Studio: A mensagem de erro "Multiple attempts were made to process the query. Optimize the query and run it again aparecerá diretamente na interface, na aba Saída, do Data Warehouse.
No Fluxo: O usuário receberá um e-mail automático informando sobre a falha na execução.
Esta mensagem indica que o sistema realizou três tentativas consecutivas de executar a query, mas todas falharam. Geralmente, isso ocorre porque a consulta é excessivamente pesada (ex: processamento de centenas de milhares de linhas), causando o travamento e a reinicialização automática do container de execução.
Para resolver o problema, é necessário identificar se a query que falhou é a causa raiz ou uma vítima colateral. Verifique os seguintes pontos:
O primeiro passo para a correção é revisar a lógica da query e verificar se o volume de dados excede a capacidade do ambiente.
Muitas queries podem rodar simultaneamente no mesmo ambiente. Uma única query "culpada" pode consumir todos os recursos (memória/CPU), derrubando o container e gerando erros para todas as outras consultas que estavam em execução no momento.
Ação: Analise o que estava rodando simultaneamente para isolar a query que causou a falha.
Siga estas recomendações de otimização para evitar travamentos:
Uso de LIMIT: Ao realizar testes ou seleções em grandes volumes, utilize a cláusula LIMIT para restringir a carga inicial de dados.
Refatoração de colunas: Evite o uso de SELECT *. Especifique apenas as colunas necessárias para reduzir a carga de processamento.
Gerenciamento de Memória: Verifique se a query está dimensionada corretamente para os limites de memória do container.
Ajustes de parâmetros: Considere adicionar configurações específicas do DuckDB para melhorar a estabilidade e a performance em operações complexas.
Leia também: Documentação DuckDB
Abaixo, um exemplo de query que pode causar o esgotamento de recursos ao tentar carregar dados massivos sem filtros:
Ao aplicar filtros e limitar o escopo, o risco de queda do container é minimizado:
Se o erro persistir mesmo após a otimização, realize uma investigação de Troubleshooting à parte para verificar o log de atividades paralelas e a saúde do ambiente.
Atualizado
Isto foi útil?
Isto foi útil?
-- Query não otimizada: alto risco de travamento
SELECT * FROM banco_teste.tabela_gigante;
-- Query otimizada: focada em performance e estabilidade
SELECT id, nome, data_processamento
FROM banco_teste.tabela_gigante
WHERE data_processamento >= '2026-01-01'
LIMIT 1000;