本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 Delta Lake 叢集與 Trino 搭配使用
使用 Amazon EMR 6.9.0 版及更高版本,您可以將 Delta Lake 與 Trino 叢集搭配使用。
在本教學課程中,我們將使用 AWS CLI 在 Amazon EMR Trino 叢集上使用 Delta Lake。
建立 Delta Lake 叢集
-
建立檔案
delta_configurations.json
,並為您選擇的型錄設定值。例如,如果您想要使用 Hive 中繼存放區作為型錄,您的檔案應具有下列內容:[{"Classification":"delta-defaults", "Properties":{"delta.enabled":"true"}}, {"Classification":"trino-connector-delta", "Properties":{"hive.metastore.uri":"thrift://localhost:9083"}}]
如果您想要使用 AWS Glue Catalog 做為您的存放區,您的檔案應具有下列內容:
[{"Classification":"delta-defaults", "Properties":{"delta.enabled":"true"}}, {"Classification":"trino-connector-delta", "Properties":{"hive.metastore":"glue"}}]
-
使用下列組態建立叢集,並將
example Amazon S3 bucket path
和subnet ID
取代為您自己的值。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
初始化 Delta Lake 的 Trino 工作階段
若要初始化 Trino 工作階段,請執行下列命令
trino-cli --catalog delta
寫入至 Delta Lake 資料表
使用下列 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');
從 Delta Lake 資料表中讀取
使用下列 SQL 命令從資料表中讀取:
SELECT * from default.delta_table;