Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Einen Delta-Lake-Cluster mit Trino verwenden
Mit Amazon-EMR-Versionen 6.9.0 und höher können Sie Delta Lake mit Ihrem Trino-Cluster verwenden.
In diesem Tutorial werden wir den Trino-Cluster verwenden AWS CLI , um mit Delta Lake auf Amazon EMR zu arbeiten.
Einen Delta-Lake-Cluster erstellen
-
Erstellen Sie eine Datei,
delta_configurations.json
, und legen Sie Werte für den ausgewählten Katalog fest. Wenn Sie beispielsweise den Hive-Metastore als Ihren Katalog verwenden möchten, sollte Ihre Datei den folgenden Inhalt haben:[{"Classification":"delta-defaults", "Properties":{"delta.enabled":"true"}}, {"Classification":"trino-connector-delta", "Properties":{"hive.metastore.uri":"thrift://localhost:9083"}}]
Wenn Sie den AWS Glue-Katalog als Ihren Shop verwenden möchten, sollte Ihre Datei den folgenden Inhalt haben:
[{"Classification":"delta-defaults", "Properties":{"delta.enabled":"true"}}, {"Classification":"trino-connector-delta", "Properties":{"hive.metastore":"glue"}}]
-
Erstellen Sie einen Cluster mit der folgenden Konfiguration und ersetzen Sie
example Amazon S3 bucket path
undsubnet ID
durch Ihre eigenen.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
Initialisieren Sie die Trino-Sitzung für Delta Lake
Um die Trino-Sitzung zu initialisieren, führen Sie den folgenden Befehl aus
trino-cli --catalog delta
In eine Delta-Lake-Tabelle schreiben
Erstellen Sie Ihre Tabelle mit den folgenden SQL-Befehlen und schreiben Sie in sie:
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');
Von einer Delta-Lake-Tabelle lesen
Lesen Sie mit dem folgenden SQL-Befehl aus Ihrer Tabelle:
SELECT * from default.delta_table;