

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

# Amazon EMR on EKS での Apache Iceberg の使用
<a name="tutorial-iceberg"></a>

Iceberg のランタイム JAR には、Spark ランタイムのサポートに必要な Iceberg クラスが含まれています。次の手順は、Iceberg スパークランタイムを使用してジョブ実行を開始する方法を示しています。

**Amazon EMR on EKS アプリケーションで Apache Iceberg を使用するには**

1. アプリケーション設定でジョブ実行を開始して Spark ジョブを送信するときに、Iceberg Spark ランタイム JAR ファイルを含めます。

   ```
   --job-driver '{"sparkSubmitJobDriver" : {"sparkSubmitParameters" : "--jars local:///usr/share/aws/iceberg/lib/iceberg-spark3-runtime.jar"}}'
   ```

1. さらに別の Iceberg 設定を含めます。

   ```
   --configuration-overrides '{
       "applicationConfiguration": [
       "classification" : "spark-defaults", 
       "properties" : {
           "spark.sql.catalog.dev.warehouse" : "s3://amzn-s3-demo-bucket/EXAMPLE-PREFIX/ ", 
           "spark.sql.extensions ":" org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions ", 
           "spark.sql.catalog.dev" : "org.apache.iceberg.spark.SparkCatalog",
           "spark.sql.catalog.dev.catalog-impl" : "org.apache.iceberg.aws.glue.GlueCatalog",
           "spark.sql.catalog.dev.io-impl": "org.apache.iceberg.aws.s3.S3FileIO"
           }
       ]
   }'
   ```

EMR の Apache Iceberg リリースバージョンの詳細については、「[Iceberg release history](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/Iceberg-release-history.html)」を参照してください。

## カタログ統合用の Spark セッション設定
<a name="iceberg-with-lake-formation-spark-catalog-integration-lf-eks"></a>

### Iceberg Glue カタログ統合の Spark AWS セッション設定
<a name="iceberg-with-lake-formation-spark-catalog-integration-lf-glue"></a>

このサンプルは、Iceberg を AWS Glue クローラーと統合する方法を示しています:

```
spark-sql \
  --conf spark.sql.catalog.rms = org.apache.iceberg.spark.SparkCatalog \
  --conf spark.sql.catalog.rms.type = glue \
  --conf spark.sql.catalog.rms.glue.id = glue RMS catalog ID \
  --conf spark.sql.catalog.rms.glue.account-id = AWS account ID \
  
  --conf spark.sql.extensions=
    org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
```

サンプルクエリを以下に示します。

```
SELECT * FROM rms.rmsdb.table1
```

### Iceberg REST Glue カタログ統合の Spark AWS セッション設定
<a name="iceberg-with-lake-formation-spark-catalog-integration-lf-rest"></a>

このサンプルは、Iceberg REST を AWS Glue クローラーと統合する方法を示しています:

```
spark-sql \
  --conf spark.sql.catalog.rms = org.apache.iceberg.spark.SparkCatalog \
  --conf spark.sql.catalog.rms.type = rest \
  --conf spark.sql.catalog.rms.warehouse = glue RMS catalog ID \
  --conf spark.sql.catalog.rms.uri = glue endpoint URI/iceberg \
  --conf spark.sql.catalog.rms.rest.sigv4-enabled = true \
  --conf spark.sql.catalog.rms.rest.signing-name = glue \
  
  --conf spark.sql.extensions=
    org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
```

サンプルクエリを以下に示します。

```
SELECT * FROM rms.rmsdb.table1
```

この設定は、Redshift マネージドストレージでのみ機能します。Amazon S3 の FGAC はサポートされていません。