

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

# 搭配 EMR Serverless 使用 Apache Iceberg
<a name="using-iceberg"></a>

本節說明如何將 Apache Iceberg 與 EMR Serverless 應用程式搭配使用。Apache Iceberg 是一種資料表格式，可協助處理資料湖中的大型資料集。

**將 Apache Iceberg 與 EMR Serverless 應用程式搭配使用**

1. 在對應的 Spark 任務執行中設定所需的 Spark 屬性。

   ```
   spark.jars=/usr/share/aws/iceberg/lib/iceberg-spark3-runtime.jar
   ```

1. 指定 AWS Glue Data Catalog 做為您的中繼存放區，或設定外部中繼存放區。若要進一步了解如何設定中繼存放區，請參閱 [EMR Serverless 的中繼存放區組態](metastore-config.md)。

   設定您要用於 Iceberg 的中繼存放區屬性。例如，如果您想要使用 AWS Glue Data Catalog，請在應用程式組態中設定下列屬性。

   ```
   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.hadoop.hive.metastore.client.factory.class=com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory
   ```

   當您使用 AWS Glue Data Catalog 做為中繼存放區時，請為您的 Iceberg 任務指定下列組態屬性。

   ```
   --conf spark.jars=/usr/share/aws/iceberg/lib/iceberg-spark3-runtime.jar,
   --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions,
   --conf spark.sql.catalog.dev=org.apache.iceberg.spark.SparkCatalog, 
   --conf spark.sql.catalog.dev.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog, 
   --conf spark.sql.catalog.dev.warehouse=s3://amzn-s3-demo-bucket/EXAMPLE-PREFIX/
   --conf spark.hadoop.hive.metastore.client.factory.class=com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory
   ```

若要進一步了解 Amazon EMR 的 Apache Iceberg 版本，請參閱 [Iceberg 版本歷史記錄](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/Iceberg-release-history.html)。