

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.

# Utilisez un cluster Delta Lake avec Trino
<a name="Deltacluster-trino"></a>

Avec les versions 6.9.0 et supérieures d'Amazon EMR, vous pouvez utiliser Delta Lake avec votre cluster Trino.

Dans ce didacticiel, nous allons utiliser le AWS CLI cluster Trino pour travailler avec Delta Lake sur Amazon EMR.

## 
<a name="Deltacluster-trino-create"></a>

**Création d'un cluster Delta Lake**

1. Créez un fichier, `delta_configurations.json`, et définissez des valeurs pour le catalogue de votre choix. Par exemple, si vous souhaitez utiliser le métastore Hive comme catalogue, le contenu de votre fichier doit être le suivant :

   ```
   [{"Classification":"delta-defaults",  
       "Properties":{"delta.enabled":"true"}},  
       {"Classification":"trino-connector-delta",  
       "Properties":{"hive.metastore.uri":"thrift://localhost:9083"}}]
   ```

   Si vous souhaitez utiliser le AWS Glue Catalog comme boutique, le contenu de votre fichier doit être le suivant :

   ```
   [{"Classification":"delta-defaults",  
       "Properties":{"delta.enabled":"true"}},  
       {"Classification":"trino-connector-delta",  
       "Properties":{"hive.metastore":"glue"}}]
   ```

1. Créez un cluster avec la configuration suivante, en remplaçant **example Amazon S3 bucket path** et **subnet ID** par les vôtres.

   ```
   aws emr create-cluster 
       --release-label emr-6.9.0   
       --applications Name=Trino  
       --configurations file://delta_configurations.json   
       --region us-east-1  --name My_Spark_Delta_Cluster  
       --log-uri  s3://amzn-s3-demo-bucket/  
       --instance-type m5.xlarge  
       --instance-count 2   
       --service-role EMR_DefaultRole_V2  
       --ec2-attributes  InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-1234567890abcdef0
   ```

## Initialisation de la session Trino pour Delta Lake
<a name="Deltainitialize-trino"></a>

Pour initialiser la session Trino, exécutez la commande suivante

```
trino-cli --catalog delta
```

## Écriture dans une table Delta Lake
<a name="Deltatrino-write-table"></a>

Créez et écrivez dans votre table à l'aide des commandes SQL suivantes :

```
SHOW SCHEMAS;

CREATE TABLE default.delta_table (id  int, data varchar, category varchar) WITH 
( location =  's3://amzn-s3-demo-bucket/<prefix>');

INSERT INTO default.delta_table VALUES  (1,'a','c1'), (2,'b','c2'), (3,'c','c3');
```

## Lecture à partir d'une table Delta Lake
<a name="Deltatrino-read-table"></a>

Lisez le contenu de votre table à l'aide de la commande SQL suivante :

```
SELECT * from default.delta_table;
```