トラブルシューティング
ログ記録
EMR on EKS は、Spark リソースプロファイルを使用してジョブ実行を分割します。Amazon EMR on EKS は、ユーザープロファイルを使用して指定したコードを実行し、システムプロファイルは Lake Formation ポリシーを適用します。MonitoringConfiguration で StartJobRun リクエストを設定することで、ユーザープロファイルとして実行されたコンテナのログにアクセスできます。
Spark History Server
Spark 履歴サーバーには、ユーザープロファイルから生成されたすべての Spark イベントと、システムドライバーから生成された編集済みイベントがあります。[エグゼキュター] タブには、ユーザードライバーとシステムドライバーの両方からすべてのコンテナが表示されます。ただし、ログリンクはユーザープロファイルでのみ使用できます。
Lake Formation のアクセス許可が不十分なためジョブが失敗した
ジョブ実行ロールには、アクセスしているテーブルで SELECT と DESCRIBE を実行するアクセス許可があることを確認してください。
RDD の実行が失敗したジョブ
EMR on EKS は現在、Lake Formation 対応ジョブで耐障害性のある分散データセット (RDD) オペレーションをサポートしていません。
Amazon S3 のデータファイルにアクセスできない
Lake Formation にデータレイクの場所が登録されていることを確認します。
セキュリティ検証の例外
EMR on EKS がセキュリティ検証エラーを検出しました。AWS のサポートにご連絡ください。
アカウント間での AWS Glue データカタログとテーブルの共有
データベースとテーブルをアカウント間で共有し、Lake Formation を引き続き使用できます。詳細については、「Cross-account data sharing in Lake Formation」と「How do I share AWS Glue Data Catalog and tables cross-account using AWS Lake Formation?
AWS リージョンを設定していない 初期化エラーをスローする Iceberg Job
メッセージは次のとおりです:
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
Spark 設定 spark.sql.catalog. が有効なリージョンに設定されていることを確認します。catalog_name.client.region
SparkUnsupportedOperationException をスローする Iceberg Job
メッセージは次のとおりです:
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.
Spark 設定 spark.sql.catalog. が有効なアカウント ID に設定されていることを確認します。catalog_name.glue.account-id
MERGE オペレーション中の「403 アクセスが拒否されました」を伴う Iceberg Job の失敗
メッセージは次のとおりです:
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)
次のプロパティを追加して、Spark で S3 Delete オペレーションを無効にします。--conf spark.sql.catalog.。s3-table-name.s3.delete-enabled=false