

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS Lake Formation で Amazon EMR を使用する際の一般的な問題のトラブルシューティング
<a name="emr-troubleshoot-lf"></a>

 このセクションでは、 AWS Lake Formationで Amazon EMR を使用するときの一般的な問題をトラブルシューティングするプロセスについて説明します。

## データレイクアクセスが許可されない
<a name="emr-troubleshoot-lf-data-access"></a>

データレイク内のデータを分析して処理するには、Amazon EMR クラスターのデータフィルタリングを明示的にオプトインする必要があります。データアクセスに失敗すると、ノートブックエントリの出力に汎用的な `Access is not allowed` メッセージが表示されます。

Amazon EMR でオプトインしてデータフィルタリングを許可するには、「*AWS Lake Formation デベロッパーガイド*」の「[Amazon EMR でのデータフィルタリングを許可する](https://docs.aws.amazon.com/lake-formation/latest/dg/getting-started-setup.html#emr-switch)」の手順を参照してください。

## セッションの期限切れ
<a name="emr-troubleshoot-lf-expiration"></a>

EMR Notebooks と Zeppelin のセッションタイムアウトは、Lake Formation の `Maximum CLI/API session duration` 設定の IAM ロールによって制御されます。この設定のデフォルト値は 1 時間です。セッションタイムアウトが発生すると、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…
```

セッションを検証するには、ページを更新します。IdP を使用して再認証するよう求められ、ノートブックにリダイレクトされます。再認証後、クエリを実行することができます。

## リクエストされたテーブルに対するユーザーのアクセス許可がない
<a name="emr-troubleshoot-lf-no-permissisons"></a>

アクセス許可のないテーブルにアクセスしようとすると、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: …
```

テーブルにアクセスするには、Lake Formation で、このテーブルに関連付けられているアクセス許可を更新して、ユーザーにアクセス許可を付与する必要があります。

## アカウント間で共有する Lake Formation データをクエリする
<a name="emr-troubleshoot-lf-cross-account"></a>

Amazon EMR を使用して他のアカウントから共有されているデータにアクセスすると、一部の Spark ライブラリは `Glue:GetUserDefinedFunctions` API オペレーションの呼び出しを試みます。 AWS RAM 管理アクセス許可のバージョン 1 および 2 はこのアクションをサポートしていないため、次のエラーメッセージが表示されます。

`"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"`

このエラーを解決するには、リソース共有を作成したデータレイク管理者が、リソース共有にアタッチされた AWS RAM マネージドアクセス許可を更新する必要があります。 AWS RAM マネージドアクセス許可のバージョン 3 では、プリンシパルが `glue:GetUserDefinedFunctions` アクションを実行できます。

新しいリソース共有を作成すると、Lake Formation はデフォルトで AWS RAM マネージドアクセス許可の最新バージョンを適用します。ユーザーによるアクションは必要ありません。既存のリソース共有のクロスアカウントデータアクセスを有効にするには、 AWS RAM マネージドアクセス許可をバージョン 3 に更新する必要があります。

で共有されているリソースに割り当てられた AWS RAM アクセス許可を表示できます AWS RAM。バージョン 3 には次のアクセス許可が含まれています。

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

**既存のリソース共有の AWS RAM マネージドアクセス許可バージョンを更新するには**  
ユーザー (データレイク管理者) は、*AWS RAM 「 ユーザーガイド*」の手順に従って[AWS RAM 管理アクセス許可を新しいバージョンに更新](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update-permissions.html)するか、リソースタイプの既存のアクセス許可をすべて取り消して再付与することができます。アクセス許可を取り消すと、 は AWS RAM リソースタイプに関連付けられたリソース共有 AWS RAM を削除します。アクセス許可を再付与すると、 AWS RAM は AWS RAM マネージドアクセス許可の最新バージョンをアタッチした新しいリソース共有を作成します。

## テーブルで挿入、作成、変更の操作を行う
<a name="emr-troubleshoot-lf-unsupported"></a>

Lake Formation ポリシーによって保護されているデータベースのテーブルについて挿入、作成、または変更はサポートされていません。これらのオペレーションを実行すると、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: …
```

詳細については、[「Amazon EMR との統合の制限 AWS Lake Formation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-lf-scope.html#emr-lf-limitations)」を参照してください。