

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Uso do Apache Iceberg com o Amazon EMR no EKS
<a name="tutorial-iceberg"></a>

O JAR de runtime para o Iceberg contém as classes necessárias do Iceberg para suporte ao runtime do Spark. O procedimento a seguir mostra como iniciar uma execução de trabalho usando o runtime do Spark do Iceberg.

**Usar o Apache Iceberg com as aplicações do Amazon EMR no EKS**

1. Ao iniciar uma execução de trabalho para enviar um trabalho do Spark na configuração da aplicação, inclua o arquivo JAR de runtime do Iceberg para o Spark:

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

1. Inclua a configuração adicional do 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"
           }
       ]
   }'
   ```

Para saber mais sobre as versões de liberação do Apache Iceberg para o EMR, consulte [Iceberg release history](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/Iceberg-release-history.html).

## Configurações de sessão do Spark para integração de catálogo
<a name="iceberg-with-lake-formation-spark-catalog-integration-lf-eks"></a>

### Configurações de sessão do Spark para integração do catálogo Iceberg AWS Glue
<a name="iceberg-with-lake-formation-spark-catalog-integration-lf-glue"></a>

Este exemplo mostra como integrar o Iceberg com o Crawler do 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
```

Veja a seguir um exemplo de consulta:

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

### Configurações de sessão do Spark para integração do catálogo Iceberg REST AWS Glue
<a name="iceberg-with-lake-formation-spark-catalog-integration-lf-rest"></a>

Este exemplo mostra como integrar o Iceberg REST com o Crawler do 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
```

Veja a seguir um exemplo de consulta:

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

Essa configuração funciona apenas para o Redshift Managed Storage. Não há suporte para o FGAC para o Amazon S3.