기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Trino와 함께 Delta Lake 클러스터 사용
Amazon EMR 릴리스 6.9.0 이상에서는 Trino 클러스터와 함께 델타 레이크를 사용할 수 있습니다.
이 자습서에서는 Amazon EMR Trino 클러스터에서 Delta Lake를 AWS CLI 사용하여 작업해 보겠습니다.
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 카탈로그를 스토어로 사용하려면 파일에 다음과 같은 콘텐츠가 있어야 합니다.
[{"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://DOC-EXAMPLE-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://DOC-EXAMPLE-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;