

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation d'Apache Iceberg avec Amazon EMR on EKS
<a name="tutorial-iceberg"></a>

Le fichier JAR d'exécution d'Iceberg contient les classes Iceberg nécessaires à la prise en charge de l'exécution de Spark. La procédure suivante montre comment démarrer une tâche à l'aide du moteur d'exécution Iceberg Spark.

**Utilisation d'Apache Iceberg avec des applications Amazon EMR on EKS**

1. Lorsque vous lancez une exécution de tâche pour soumettre une tâche Spark dans la configuration de l'application, incluez le fichier JAR d'exécution Spark d'Iceberg :

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

1. Incluez la configuration supplémentaire d'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"
           }
       ]
   }'
   ```

Pour en savoir plus sur les versions Apache Iceberg d'EMR, consultez l'[historique des versions Iceberg](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/Iceberg-release-history.html).

## Configurations de session Spark pour l'intégration de catalogues
<a name="iceberg-with-lake-formation-spark-catalog-integration-lf-eks"></a>

### Configurations de session Spark pour l'intégration du catalogue Iceberg AWS Glue
<a name="iceberg-with-lake-formation-spark-catalog-integration-lf-glue"></a>

Cet exemple montre comment intégrer Iceberg à : AWS Glue crawler

```
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
```

Voici un exemple de requête :

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

### Configurations de session Spark pour l'intégration du catalogue Iceberg REST AWS Glue
<a name="iceberg-with-lake-formation-spark-catalog-integration-lf-rest"></a>

Cet exemple montre comment intégrer Iceberg REST à : AWS Glue crawler

```
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
```

Voici un exemple de requête :

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

Cette configuration ne fonctionne que pour le stockage géré Redshift. Le FGAC pour Amazon S3 n'est pas pris en charge.