

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Utilice un clúster de Delta Lake con Trino
<a name="Deltacluster-trino"></a>

Con Amazon EMR versión 6.9.0 y versiones posteriores, puede usar Delta Lake con su clúster de Trino.

En este tutorial, utilizaremos el clúster Trino AWS CLI para trabajar con Delta Lake en Amazon EMR.

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

**Creación de un clúster de Delta Lake**

1. Cree un archivo, `delta_configurations.json` y establezca valores para el catálogo que elija. Por ejemplo, si quiere usar el metaalmacén de Hive como catálogo, su archivo debe tener el siguiente contenido:

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

   Si quieres usar el catálogo de AWS Glue como tienda, tu archivo debe tener el siguiente contenido:

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

1. Cree un clúster con la siguiente configuración y sustituya **example Amazon S3 bucket path** y **subnet ID** por sus propios valores.

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

## Inicialización de una sesión de Trino para Delta Lake
<a name="Deltainitialize-trino"></a>

Para iniciar una sesión de Trino, ejecute el siguiente comando

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

## Escritura en una tabla de Delta Lake
<a name="Deltatrino-write-table"></a>

Cree la siguiente tabla y escriba en ella con los siguientes comandos de SQL:

```
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');
```

## Lectura de una tabla Delta Lake
<a name="Deltatrino-read-table"></a>

Lea desde la tabla con el siguiente comando SQL:

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