

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon EMR on EKS에서 Apache Iceberg 사용
<a name="tutorial-iceberg"></a>

Iceberg용 런타임 JAR에는 Spark 런타임 지원에 필요한 Iceberg 클래스가 포함되어 있습니다. 다음 절차에서는 Iceberg Spark 런타임을 사용하여 작업 실행을 시작하는 방법을 보여줍니다.

**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 릴리스 기록](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 AWS Glue 카탈로그 통합을 위한 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 AWS Glue 카탈로그 통합을 위한 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 Managed Storage에서만 작동합니다. Amazon S3용 FGAC는 지원되지 않습니다.