Solução de problemas - Amazon EMR

Solução de problemas

Registro em log

O EMR no EKS usa perfis de recursos do Spark para dividir a execução do trabalho. O Amazon EMR no EKS usa o perfil do usuário para executar o código fornecido, enquanto o perfil do sistema impõe as políticas do Lake Formation. Você pode acessar o log dos contêineres executados como o perfil do usuário configurando a solicitação StartJobRun com MonitoringConfiguration.

Servidor de histórico do Spark

O Spark History Server têm todos os eventos do Spark gerados no perfil do usuário e os eventos editados gerados pelo driver do sistema. Você pode ver todos os contêineres dos drivers do usuário e do sistema na guia Executores. No entanto, os links de logs estão disponíveis somente para o perfil do usuário.

O trabalho falhou com permissões insuficientes do Lake Formation

Certifique-se de que o perfil de execução de trabalho tenha permissões para executar SELECT e DESCRIBE na tabela que você está acessando.

Falha na execução do trabalho com RDD

No momento, o EMR no EKS não oferece suporte a operações de conjunto de dados resilientes distribuídos (RDD) em trabalhos habilitados para o Lake Formation.

Não é possível acessar arquivos de dados no Amazon S3

Certifique-se de ter registrado a localização do data lake no Lake Formation.

Exceção de validação de segurança

O EMR no EKS detectou um erro de validação de segurança. Entre em contato com o suporte da AWS para obter ajuda.

Compartilhamento do AWS Glue Data Catalog e de tabelas entre contas

Você pode compartilhar bancos de dados e tabelas entre contas e ainda usar o Lake Formation. Para obter mais informações, consulte Compartilhamento de dados entre contas no Lake Formation e Como compartilhar o Catálogo de dados do AWS Glue e tabelas entre contas usando o AWS?.

Erro de inicialização do trabalho do iceberg ao não definir a região da AWS

A mensagem é a seguinte:

25/02/25 13:33:19 ERROR SparkFGACExceptionSanitizer: Client received error with id = b921f9e6-f655-491f-b8bd-b2842cdc20c7, reason = IllegalArgumentException, message = Cannot initialize LakeFormationAwsClientFactory, please set client.region to a valid aws region

Certifique-se de que a configuração do Spark spark.sql.catalog.catalog_name.client.region esteja definida como uma região válida.

Trabalho do Iceberg lançando SparkUnsupportedOperationException

A mensagem é a seguinte:

25/02/25 13:53:15 ERROR SparkFGACExceptionSanitizer: Client received error with id = 921fef42-0800-448b-bef5-d283d1278ce0, reason = SparkUnsupportedOperationException, message = Either glue.id or glue.account-id is set with non-default account. Cross account access with fine-grained access control is only supported with AWS Resource Access Manager.

Certifique-se de que a configuração do Spark spark.sql.catalog.catalog_name.glue.account-id esteja definida como um ID de conta válido.

Falha no trabalho Iceberg com “403 Acesso negado” durante a operação MERGE

A mensagem é a seguinte:

software.amazon.awssdk.services.s3.model.S3Exception: Access Denied (Service: S3, Status Code: 403, ... at software.amazon.awssdk.services.s3.DefaultS3Client.deleteObject(DefaultS3Client.java:3365) at org.apache.iceberg.aws.s3.S3FileIO.deleteFile(S3FileIO.java:162) at org.apache.iceberg.io.FileIO.deleteFile(FileIO.java:86) at org.apache.iceberg.io.RollingFileWriter.closeCurrentWriter(RollingFileWriter.java:129)

Desabilite as operações de exclusão do S3 no Spark adicionando a seguinte propriedade. --conf spark.sql.catalog.s3-table-name.s3.delete-enabled=false.