

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 搭配使用 Apache Iceberg 與 Amazon EMR on EKS
<a name="tutorial-iceberg"></a>

Iceberg 的執行期 JAR 包含 Spark 執行期支援所需的 Iceberg 類別。下列程序說明如何使用 Iceberg spark 執行時間啟動任務執行。

**搭配使用 Apache Iceberg 與 Amazon EMR on EKS 應用程式**

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 版本歷史記錄](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 AWS 目錄整合的 Spark 工作階段組態
<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 AWS 目錄整合的 Spark 工作階段組態
<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。