

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

# Trino 시작하기
<a name="emr-trino-getting-started"></a>

이 섹션의 절차에서는 Trino를 사용하여 메타스토어 데이터 소스를 쿼리하기 위해 Amazon EMR 클러스터를 설정하는 방법을 보여줍니다. Glue 데이터 카탈로그를 포함하는 이러한 AWS 메타스토어는 메타데이터 및 데이터베이스 객체를 저장하고 액세스 권한을 관리합니다. 이 절차에서는 사전 조건, 권장 구성 설정, 커넥터 생성 및 메타스토어 테이블에서 쿼리 실행을 다룹니다.

**Topics**
+ [에서 Amazon EMR을 사용하기 위한 사전 조건 단계 완료 Trino](emr-trino-getting-started-pre.md)
+ [Trino로 Amazon EMR 클러스터 시작](emr-trino-getting-started-launch.md)
+ [Amazon EMR 클러스터의 프라이머리 노드에 연결하고 쿼리를 실행합니다.](emr-trino-getting-started-connect.md)

# 에서 Amazon EMR을 사용하기 위한 사전 조건 단계 완료 Trino
<a name="emr-trino-getting-started-pre"></a>

를 사용하지 AWS않았거나 Amazon EMR 클러스터를 생성하지 않은 경우 Trino를 사용하여 Amazon EMR 클러스터를 생성하기 전에 다음 사전 조건 단계를 완료하세요.

## AWS 환경 설정
<a name="emr-trino-getting-started-account"></a>

아직 AWS 계정을 구성하지 않았다면 다음 단계를 완료하세요.

1.  AWS 아직 계정이 없는 경우 계정에 가입합니다. 자세한 내용은 [AWS 계정 관리 참조 안내서의 계정 생성을](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-creating.html) *AWS 참조*하세요.

1. 관리자 계정으로 로그인합니다.

1. 그룹을 생성하고 그룹에 사용자를 할당합니다.

1. 나중에 SSH와의 리소스 간 통신을 보호하는 데 사용할 수 있는 Amazon EC2 키 페어를 생성합니다. 이 단계는 작업을 수행하기 위해 프라이머리 노드에 연결하려는 경우에 필요합니다. 자세한 내용은 [SSH를 사용하여 Amazon EMR 클러스터 프라이머리 노드에 연결](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html)을 참조하세요.

# Trino로 Amazon EMR 클러스터 시작
<a name="emr-trino-getting-started-launch"></a>

다음은 Trino를 사용하여 클러스터를 생성할 때 올바른 구성 선택에 대해 설명합니다.

## Hive 커넥터를 사용하여 쿼리에 데이터를 사용할 수 있도록 설정
<a name="emr-trino-getting-started-connect-hive"></a>

클러스터에서 메타스토어 데이터를 쿼리할 목적으로 Hive 메타스토어에 대한 Trino 커넥터를 구성할 수 있습니다. 메타스토어는 파일 기반 콘텐츠 또는 데이터를 테이블로 사용할 수 있도록 하는 추상화 계층이므로 쿼리하기 쉽습니다. 클러스터에서 Hive 메타스토어 테이블을 사용할 수 있도록 Amazon EMR에서 커넥터를 구성합니다. 다음 절차에서는 이 작업을 수행하는 방법을 보여 줍니다.

1. 콘솔에서 AWS Glue를 선택하고 Amazon S3의 소스 데이터를 기반으로 테이블을 생성합니다. AWS Glue 데이터 카탈로그의 테이블은 데이터에 대한 메타데이터 정의입니다. 이 컨텍스트에서는 테이블을 수동으로 생성하여 소스 데이터에서 원하는 대로 열을 생성하는 것이 좋습니다. Amazon S3의 반정형 데이터에서 AWS Glue의 테이블을 생성하는 방법에 대한 자세한 내용은 *AWS Glue 사용 설명서*의 [콘솔을 사용하여 테이블 생성을](https://docs.aws.amazon.com/glue/latest/dg/tables-described.html#console-tables) 참조하세요.

1. 클러스터 생성의 일부로 구성을 설정합니다. **구성** 탭을 선택합니다. 구성은 클러스터의 선택적 사양입니다. 구성을 입력할 때 다음 샘플과 같이 JSON을 추가합니다.이 샘플은 Trino에게 Glue 데이터 카탈로그를 테이블 메타데이터에 대한 외부 Hive AWS 메타스토어로 사용하도록 지시합니다.

   ```
   {
       "classification": "trino-connector-hive",
       "properties": {
           "hive.metastore": "glue"
       }
   }
   ```

   또는 클러스터를 생성할 때 **소프트웨어 설정** 섹션에서 구성을 적용할 수 있습니다.

   또한 Apache Iceberg 연결과 같은 다른 커넥터 유형을 설정할 수 있습니다. 자세한 내용은 *Amazon EMR 릴리스 안내서*의 [Trino에서 Iceberg 클러스터 사용](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-use-trino-cluster.html)을 참조하세요. 추가 설정 구성은 선택 사항입니다.

시작하기 단계를 계속하려면 [Amazon EMR 클러스터의 프라이머리 노드에 연결하고 쿼리를 실행합니다.](emr-trino-getting-started-connect.md) 섹션을 참조하세요.

## Trino로 클러스터 생성
<a name="emr-trino-getting-started-launch-cluster-settings"></a>

다음은 Trino와 함께 사용할 클러스터를 생성할 때 올바른 구성 선택에 대해 설명합니다.

**중요**  
클러스터를 생성하기 전에 Glue 데이터 카탈로그 구성을 Hive AWS 메타스토어로 완료합니다.이 구성을 시작하는 것이 좋습니다. 자세한 내용은 [Hive 커넥터를 사용하여 쿼리에 데이터를 사용할 수 있도록 설정](#emr-trino-getting-started-connect-hive) 단원을 참조하십시오.

1.  AWS 콘솔의 서비스에서 Amazon EMR을 선택합니다. Amazon EMR을 선택하면 기존 클러스터가 있는 경우 **EC2 클러스터의 EMR**이 나열됩니다.

1. **클러스터 생성**을 선택합니다. 여기에서 클러스터 빌드 프로세스를 시작합니다.

1. 클러스터에 이름을 지정하고 **Amazon EMR 릴리스**를 선택합니다. 자습서의 최신 릴리스를 선택할 수 있습니다.

1. **Trino** 애플리케이션이 미리 선택된 Trino 번들을 선택합니다. 번들은 클러스터의 목적을 미리 알고 있을 때 편의를 위해 설정됩니다. 그렇지 않으면 Trino의 확인란을 선택하기만 하면 됩니다.

1. **클러스터 구성**에서 **균일한 인스턴스 그룹**을 선택합니다. 계속해서 추가 인스턴스 그룹을 제거합니다.

1. **인스턴스 유형**을 선택합니다. 일반적으로 메모리가 16GiB 이상인 인스턴스 유형을 선택하는 것이 좋습니다. 또한 **클러스터 조정 및 프로비저닝**에서 **클러스터 크기 수동 설정**을 선택합니다.

1. 이때 Glue를 가리키도록 Hive AWS 메타스토어 구성을 설정합니다. 자세한 내용은 섹션을 참조하세요[Hive 커넥터를 사용하여 쿼리에 데이터를 사용할 수 있도록 설정](#emr-trino-getting-started-connect-hive). 클러스터를 빌드하기 전에 이 작업을 완료합니다.

1. **클러스터 생성**을 선택합니다. 이 과정을 완료하는 데 몇 분 정도 소요될 수 있습니다.

   이 단계에서는 모든 구성 단계를 자세히 다루지는 않습니다. 클러스터 설정에 대한 자세한 내용은 [Amazon EMR 클러스터 계획, 구성 및 시작](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan.html)에서 확인할 수 있습니다.

**참고**  
동일한 클러스터에서 사용할 Presto와 Trino를 모두 선택하지 마세요. 이들을 함께 실행하는 것은 지원되지 않습니다. Trino를 실행하는 경우 Spark와 같은 다른 애플리케이션을 클러스터에서 실행하지 않는 것이 좋습니다.

# Amazon EMR 클러스터의 프라이머리 노드에 연결하고 쿼리를 실행합니다.
<a name="emr-trino-getting-started-connect"></a>

## 테스트 데이터 프로비저닝 및 권한 구성
<a name="emr-trino-getting-started-pre-data"></a>

Glue Data Catalog 및 해당 Hive AWS 메타스토어를 사용하여 Trino로 Amazon EMR을 테스트할 수 있습니다. 이러한 사전 조건 단계에서는 테스트 데이터를 설정하지 않은 경우 설정 방법을 설명합니다.

1. 아직 생성하지 않은 경우 통신 암호화에 사용할 SSH 키를 생성합니다.

1. 여러 파일 시스템에서 선택하여 데이터 및 로그 파일을 저장할 수 있습니다. Amazon S3 버킷을 생성하려면 버킷에 고유한 이름을 지정합니다. 생성할 때 생성한 암호화 키를 지정합니다.
**참고**  
동일한 리전을 선택하여 스토리지 버킷과 Amazon EMR 클러스터를 모두 생성합니다.

1. 생성한 버킷을 선택합니다. **폴더 생성**을 선택하고 폴더에 기억하기 쉬운 이름을 지정합니다. 폴더를 생성할 때 보안 구성을 선택합니다. 상위에 대한 보안 설정을 선택하거나 보안 설정을 더 전문화할 수 있습니다.

1. 폴더에 테스트 데이터를 추가합니다. 이 자습서에서는 쉼표로 구분된 레코드의 .csv를 사용하여 이 사용 사례를 효과적으로 완료할 수 있습니다.

1. Amazon S3 버킷에 데이터를 추가한 후 데이터 쿼리를 위한 추상화 계층을 제공하도록 AWS Glue에서 테이블을 구성합니다.

## 쿼리 연결 및 실행
<a name="emr-trino-getting-started-run"></a>

다음은 Trino를 실행하는 클러스터에 연결하고 쿼리를 실행하는 방법을 설명합니다. 이렇게 하기 전에 메타스토어 테이블이 표시되도록 이전 절차에서 설명한 Hive 메타스토어 커넥터를 설정합니다.

1. EC2 Instance Connect를 사용하여 클러스터에 연결하는 것이 좋습니다. 보안 연결을 제공하기 때문입니다. 클러스터 요약에서 **SSH를 사용하여 프라이머리 노드에 연결**을 선택합니다. 연결을 사용하려면 서브넷의 클라이언트에 대한 포트 22를 통한 연결을 허용하는 인바운드 규칙이 보안 그룹에 있어야 합니다. 또한 연결할 때 사용자 **hadoop**을 사용합니다.

1. `trino-cli`를 실행하여 Trino CLI를 시작합니다. 이 작업을 수행하면 Trino를 사용하여 명령을 실행하고 데이터를 쿼리할 수 있습니다.

1. `show catalogs;`를 실행합니다. **Hive** 카탈로그가 나열되어 있는지 확인합니다. 이는 데이터 스토어 또는 시스템 설정이 포함된 사용 가능한 카탈로그 목록을 제공합니다.

1. 사용 가능한 스키마를 보려면 `show schemas in hive;`를 실행합니다. 여기에서 `use schema-name;`을(를) 실행하고 스키마 이름을 포함할 수 있습니다. 그런 다음 `show tables;`를 실행하여 테이블을 나열할 수 있습니다.

1. 스키마의 테이블 이름을 사용하여 `SELECT * FROM table-name` 같은 명령을 실행하여 테이블을 쿼리합니다. 특정 스키마에 연결하기 위해 `USE` 문을 이미 실행한 경우 *schema*.*table* 같이 두 부분으로 구성된 표기법을 사용할 필요가 없습니다.