

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

# 在 EMR Serverless 上使用 AWS Glue 多目錄階層
<a name="external-metastore-glue-multi"></a>

您可以設定 EMR Serverless 應用程式以使用 AWS Glue 多目錄階層。下列範例示範如何搭配 AWS Glue 多目錄階層使用 EMR-S Spark。

若要進一步了解多目錄階層，請參閱[使用 Glue Data Catalog with Spark on AWS Amazon EMR 中的多目錄階層](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-multi-catalog.html)。

## 搭配 Iceberg 和 Glue Data Catalog 使用 Redshift 受管儲存 AWS (RMS)
<a name="emr-serverless-lf-enable-spark-session-glue"></a>

以下示範如何設定 Spark 以與 Iceberg AWS 的 Glue Data Catalog 整合：

```
aws emr-serverless start-job-run \
    --application-id application-id \
    --execution-role-arn job-role-arn \
    --job-driver '{
        "sparkSubmit": {
            "entryPoint": "s3://amzn-s3-demo-bucket/myscript.py",
            "sparkSubmitParameters": "--conf spark.sql.catalog.nfgac_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.defaultCatalog=rms
             --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions"
        }
    }'
```

整合後，來自 目錄中資料表的範例查詢：

```
SELECT * FROM my_rms_schema.my_table
```

## 搭配 Iceberg REST API 和 Glue Data Catalog AWS 使用 Redshift 受管儲存 (RMS)
<a name="emr-serverless-lf-enable-spark-session-rest"></a>

以下示範如何設定 Spark 以使用 Iceberg REST 目錄：

```
aws emr-serverless start-job-run \
--application-id application-id \
--execution-role-arn job-role-arn \
--job-driver '{
"sparkSubmit": {
"entryPoint": "s3://amzn-s3-demo-bucket/myscript.py",
    "sparkSubmitParameters": "
    --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 my_rms_schema.my_table
```