Como solucionar o erro “Falha no comando com o código de saída” no AWS Glue?
Data da última atualização: 24/08/2021
Meu trabalho de extrair, transformar e carregar (ETL) do AWS Glue falha com o erro “Falha no comando com o código de saída”.
Descrição breve
Você recebe o erro quando uma ou mais das seguintes condições forem verdadeiras:
- O driver ou executor do trabalho ficou sem memória.
- Seu script ETL tem problemas relacionados ao código.
- A função do IAM do AWS Glue não possui as permissões necessárias para acessar o caminho do script.
Quando a execução do trabalho falha devido a um dos motivos anteriores, os respectivos logs de erros são gravados no Amazon CloudWatch.
Resolução
Use as etapas de solução de problemas apropriadas com base no seu caso de uso.
O trabalho falha com o erro “Falha no comando com o código de saída 1” e os logs do CloudWatch mostram o erro “java.lang.OutOfMemoryError: Java heap space”
O trabalho do AWS Glue falha com o erro “Falha no comando com o código de saída 1” e os logs do CloudWatch mostram o erro “Contêiner eliminado pelo YARN por exceder os limites de memória”
Esse erro indica que o executor causa a exceção OOM. Para depurar a exceção OOM causada pelo executor, consulte Depuração de uma exceção OOM do executor.
O trabalho do AWS Glue falha com o erro “Falha no comando com o código de saída 10”
Confira os logs do CloudWatch para o trabalho para encontrar erros relacionados aos executores. O erro geralmente ocorre durante o estágio de embaralhamento do Spark. Por exemplo, o erro ocorre quando a ação de repartição é chamada e o executor aleatório fica sem memória. Monitore o executor em busca de tarefas mais complexas durante as operações de embaralhamento de dados. Para obter mais informações, consulte Depuração de estágios exigentes e tarefas mais complexas.
O trabalho do AWS Glue falha com o erro “Falha no comando com o código de saída 1” e não inicia
Confira os logs de trabalho do CloudWatch quanto a erros relacionados ao Amazon Simple Storage Service (Amazon S3). Os logs de erros podem ser semelhantes aos seguintes:
com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied' Request ID: xxxxxxxxxxxxx)
O erro ocorre quando a função do IAM do AWS Glue não tem a permissão necessária para acessar o script ETL do AWS Glue a partir do caminho do Amazon S3. Analise as permissões exigidas por uma função do IAM do AWS Glue para acessar o caminho de localização do script. Verifique e confirme se essas permissões necessárias estão anexadas à função.
O trabalho do AWS Glue falha com o erro “Falha no comando com o código de saída 1” e os logs do CloudWatch mostram o erro “Exception in thread ‘main’ java.lang.NoSuchMethodError” ou “Exception in thread ‘main’ java.lang.ExceptionInInitializerError”
As exceções indicam um conflito de dependência JAR ou conflito de versão do Spark. Confira o executável JAR e/ou os arquivos JAR extras passados no trabalho quanto a conflitos.
O trabalho do AWS Glue falha com “Falha no comando com o código de saída 1” e os logs do CloudWatch mostram o erro “RuntimeError”
O erro “RuntimeError” indica que o Spark SQL passado no script ETL tem uma exceção semântica.
Por exemplo:
RuntimeError: FAILED: SemanticException [Error 10006]: Partition not found
Para solucionar o erro, revise os logs de trabalho do AWS Glue em busca de erros de sintaxe do SQL.
Observação: o erro pode ocorrer devido a diferentes motivos, como problemas de rede. Portanto, as etapas de resolução não se limitam às fornecidas no artigo.
Informações relacionadas
Este artigo ajudou?
Precisa de ajuda com faturamento ou suporte técnico?