Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di un cluster Delta Lake con Trino
Con le EMR versioni 6.9.0 e successive di Amazon, puoi usare Delta Lake con il tuo cluster Trino.
In questo tutorial, useremo il AWS CLI per lavorare con Delta Lake sul cluster Amazon EMR Trino.
Creazione di un cluster Delta Lake
-
Crea un file,
delta_configurations.json
, e imposta i valori per il catalogo scelto. Ad esempio, se desideri utilizzare il metastore Hive come catalogo, il file deve avere il seguente contenuto:[{"Classification":"delta-defaults", "Properties":{"delta.enabled":"true"}}, {"Classification":"trino-connector-delta", "Properties":{"hive.metastore.uri":"thrift://localhost:9083"}}]
Se desideri utilizzare il AWS Glue Catalog come negozio, il file deve avere il seguente contenuto:
[{"Classification":"delta-defaults", "Properties":{"delta.enabled":"true"}}, {"Classification":"trino-connector-delta", "Properties":{"hive.metastore":"glue"}}]
-
Crea un cluster con la seguente configurazione, sostituendo
example Amazon S3 bucket path
esubnet ID
con i tuoi valori.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
Inizializzazione della sessione Trino per Delta Lake
Per inizializzare una sessione Trino, esegui il comando seguente
trino-cli --catalog delta
Scrittura in una tabella Delta Lake
Crea e scrivi sulla tua tabella con i seguenti SQL comandi:
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');
Lettura da una tabella Delta Lake
Leggi dalla tua tabella con il seguente SQL comando:
SELECT * from default.delta_table;