Trino와 함께 Delta Lake 클러스터 사용 - 아마존 EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Trino와 함께 Delta Lake 클러스터 사용

Amazon EMR 릴리스 6.9.0 이상에서는 Trino 클러스터와 함께 델타 레이크를 사용할 수 있습니다.

이 자습서에서는 Amazon EMR Trino 클러스터에서 Delta Lake를 AWS CLI 사용하여 작업해 보겠습니다.

Delta Lake 클러스터 생성
  1. 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"}}]
  2. 다음과 같은 구성으로 클러스터를 생성하고 example Amazon S3 bucket pathsubnet 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;