

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Solucione problemas comuns ao usar o Amazon EMR AWS com o Lake Formation
<a name="emr-troubleshoot-lf"></a>

 Esta seção orienta você no processo de solução de problemas comuns ao usar o Amazon EMR com o AWS Lake Formation.

## O acesso ao data lake não é permitido
<a name="emr-troubleshoot-lf-data-access"></a>

É necessário optar explicitamente pela filtragem de dados nos clusters do Amazon EMR para poder analisar e processar dados no data lake. Quando o acesso aos dados falhar, você verá uma mensagem genérica `Access is not allowed` na saída das entradas do caderno.

Para aceitar e permitir a filtragem de dados no Amazon EMR, consulte as instruções em [Allow data filtering on Amazon EMR](https://docs.aws.amazon.com/lake-formation/latest/dg/getting-started-setup.html#emr-switch) no *Guia do desenvolvedor do AWS Lake Formation *.

## Expiração da sessão
<a name="emr-troubleshoot-lf-expiration"></a>

O tempo limite da sessão para Cadernos do EMR e Zeppelin é controlado pelo perfil do IAM para a configuração `Maximum CLI/API session duration` do Lake Formation. O valor padrão para essa configuração é uma hora. Quando ocorrer um tempo limite de sessão, você verá a seguinte mensagem na saída das entradas do bloco de anotações ao tentar executar comandos do Spark SQL.

```
Error 401    HTTP ERROR: 401 Problem accessing /sessions/2/statements. 
Reason:  JWT token included in request failed validation. 
Powered by Jetty:// 9.3.24.v20180605   org.springframework.web.client.HttpClientErrorException: 401 JWT token included in request failed validation…
```

Para validar sua sessão, atualize a página. Será solicitado que você faça a autenticação novamente usando seu IdP e seja redirecionado de volta para o bloco de anotações. Você pode continuar a executar consultas após a nova autenticação.

## Não há permissões para o usuário na tabela solicitada
<a name="emr-troubleshoot-lf-no-permissisons"></a>

Ao tentar acessar uma tabela à qual você não tem acesso, você verá a seguinte exceção na saída das entradas do bloco de anotações ao tentar executar comandos do Spark SQL.

```
org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to fetch table table. 
Resource does not exist or requester is not authorized to access requested permissions. 
(Service: AWSGlue; Status Code: 400; Error Code: AccessDeniedException; Request ID: …
```

Para acessar a tabela, você deve conceder acesso ao usuário atualizando as permissões associadas a essa tabela no Lake Formation.

## Consultar dados de várias contas compartilhados com o Lake Formation
<a name="emr-troubleshoot-lf-cross-account"></a>

Quando você usa o Amazon EMR para acessar dados de outra conta compartilhados com você, algumas bibliotecas do Spark tentarão chamar a operação de API `Glue:GetUserDefinedFunctions`. Como as versões 1 e 2 das permissões AWS RAM gerenciadas não oferecem suporte a essa ação, você recebe a seguinte mensagem de erro:

`"ERROR: User: arn:aws:sts::012345678901:assumed-role/my-spark-role/i-06ab8c2b59299508a is not authorized to perform: glue:GetUserDefinedFunctions on resource: arn:exampleCatalogResource because no resource-based policy allows the glue:GetUserDefinedFunctions action"`

Para resolver esse erro, o administrador do data lake que criou o compartilhamento de recursos deve atualizar as permissões AWS RAM gerenciadas anexadas ao compartilhamento de recursos. A versão 3 das permissões gerenciadas pelo AWS RAM permite que as entidades principais executem a ação `glue:GetUserDefinedFunctions`.

Se você criar um novo compartilhamento de recursos, o Lake Formation aplicará a versão mais recente da permissão AWS RAM gerenciada por padrão, e nenhuma ação será exigida por você. Para habilitar o acesso a dados entre contas para compartilhamentos de recursos existentes, você precisa atualizar as permissões AWS RAM gerenciadas para a versão 3.

Você pode ver as AWS RAM permissões atribuídas aos recursos compartilhados com você em AWS RAM. As permissões incluídas na versão 3 são estas:

```
Databases
  AWSRAMPermissionGlueDatabaseReadWriteForCatalog 
  AWSRAMPermissionGlueDatabaseReadWrite
    
Tables
  AWSRAMPermissionGlueTableReadWriteForCatalog
  AWSRAMPermissionGlueTableReadWriteForDatabase
    
AllTables
  AWSRAMPermissionGlueAllTablesReadWriteForCatalog
  AWSRAMPermissionGlueAllTablesReadWriteForDatabase
```

**Para atualizar a versão de permissões AWS RAM gerenciadas dos compartilhamentos de recursos existentes**  
Você (administrador do data lake) pode [atualizar as permissões AWS RAM gerenciadas para uma versão mais recente](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update-permissions.html) seguindo as instruções no *Guia do AWS RAM usuário* ou revogar todas as permissões existentes para o tipo de recurso e concedê-las novamente. Se você revogar as permissões, AWS RAM excluirá o compartilhamento AWS RAM de recursos associado ao tipo de recurso. Quando você concede permissões novamente, AWS RAM cria novos compartilhamentos de recursos anexando a versão mais recente das permissões AWS RAM gerenciadas.

## Inserir, criar e alterar tabelas
<a name="emr-troubleshoot-lf-unsupported"></a>

Não há suporte para a inserção, a criação ou a alteração de tabelas em bancos de dados protegidos por políticas do Lake Formation. Ao executar essas operações, você verá a seguinte exceção na saída das entradas do bloco de anotações ao tentar executar comandos do Spark SQL:

```
java.io.IOException: com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3Exception: 
            Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: …
```

Para obter mais informações, consulte [Limitações da integração do Amazon EMR com. AWS Lake Formation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-lf-scope.html#emr-lf-limitations)