

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

# Trino와 함께 Delta Lake 클러스터 사용
<a name="Deltacluster-trino"></a>

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

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

## 
<a name="Deltacluster-trino-create"></a>

**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"}}]
   ```

1. 다음과 같은 구성으로 클러스터를 생성하고 **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 세션 초기화
<a name="Deltainitialize-trino"></a>

Trino 세션을 초기화하려면 다음 명령을 실행합니다.

```
trino-cli --catalog delta
```

## Delta Lake 테이블에 쓰기
<a name="Deltatrino-write-table"></a>

다음 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 테이블에서 읽기
<a name="Deltatrino-read-table"></a>

다음 SQL 명령을 사용하여 테이블에서 읽습니다.

```
SELECT * from default.delta_table;
```