

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

# Amazon EMR 기반 Presto에 대한 고려 사항
<a name="emr-presto-considerations"></a>

Amazon EMR 기반 [Presto](https://aws.amazon.com/big-data/what-is-presto/)를 실행할 경우 다음과 같은 제한 사항을 고려합니다.

## Presto 명령줄 실행 파일
<a name="emr-presto-command-line-cli"></a>

Amazon EMR에서 PrestoDB 및 Trino는 모두 다음 예제와 같이 동일한 명령줄 실행 파일(`presto-cli`)을 사용합니다.

```
presto-cli --catalog hive
```

## 구성할 수 없는 Presto 배포 속성
<a name="emr-presto-deployment-config"></a>

사용하는 Amazon EMR 버전에 따라 사용 가능한 Presto 배포 구성이 결정됩니다. 이러한 구성 속성에 대한 자세한 내용은 Presto 설명서에서 [Deploying Presto](https://prestodb.io/docs/current/installation/deployment.html)를 참조하세요. 아래 테이블에는 Presto `properties` 파일의 여러 가지 구성 옵션이 나와 있습니다.


| 파일 | 구성 가능 | 
| --- | --- | 
| `log.properties` | PrestoDB: Amazon EMR 버전 4.0.0 이상에서 구성할 수 있습니다. `presto-log` 구성 분류를 사용하세요. | 
| `config.properties` | PrestoDB: Amazon EMR 버전 4.0.0 이상에서 구성할 수 있습니다. `presto-config` 구성 분류를 사용하세요. | 
| `hive.properties` | PrestoDB: Amazon EMR 버전 4.1.0 이상에서 구성할 수 있습니다. `presto-connector-hive` 구성 분류를 사용하세요. | 
| `node.properties` | PrestoDB: Amazon EMR 버전 5.6.0 이상에서 구성할 수 있습니다. `presto-node` 구성 분류를 사용하세요. | 
| `jvm.config` | 구성할 수 없습니다. | 

## PrestoDB 설치
<a name="emr-prestodb-prestosql"></a>

애플리케이션 이름(*Presto*)은 클러스터에 PrestoDB를 설치하는 데 계속 사용됩니다.

PrestoDB 또는 Trino 중 하나를 설치할 수 있지만 단일 클러스터에 둘 다 설치할 수는 없습니다. 클러스터를 생성하려고 할 때 PrestoDB 및 Trino를 모두 지정하면 검증 오류가 발생하고 클러스터 생성 요청이 실패합니다.

## EMRFS 및 PrestoS3FileSystem 구성
<a name="emr-presto-prestos3"></a>

Amazon EMR 버전 5.12.0 이상에서 PrestoDB는 EMRFS를 사용할 수 있습니다. 자세한 내용은 *Amazon EMR 관리 안내서*에서 [EMR 파일 시스템(EMRFS)](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-fs)을 참조하세요. 이전 버전의 Amazon EMR에서는 PrestoS3FileSystem이 유일한 구성 옵션입니다.

보안 구성을 사용하여 Amazon S3의 EMRFS 데이터에 대한 암호화를 설정할 수 있습니다. Amazon S3에 대한 EMRFS 요청에서 IAM 역할을 사용할 수도 있습니다. 자세한 내용은 *Amazon EMR 관리 안내서*에서 [암호화 옵션 이해](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html) 및 [Amazon S3에 대한 EMRFS 요청을 위해 IAM 역할 구성](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-emrfs-iam-roles.html)을 참조하세요.

**참고**  
Amazon EMR 버전 5.12.0을 사용하여 Amazon S3에서 기본 데이터를 쿼리하는 경우 Presto 오류가 발생할 수 있습니다. 이는 Presto가 `emrfs-site.xml`에서 구성 분류 값을 가져오지 못하기 때문입니다. 이 문제를 해결하려면 `usr/lib/presto/plugin/hive-hadoop2/` 아래에 `emrfs` 하위 디렉터리를 생성하고 `usr/lib/presto/plugin/hive-hadoop2/emrfs`에서 기존 `/usr/share/aws/emr/emrfs/conf/emrfs-site.xml` 파일에 대한 기호 링크를 생성합니다. 그런 다음, presto-server 프로세스를 다시 시작합니다(`sudo presto-server stop` 및 `sudo presto-server start`의 순서대로) 

EMRFS 기본값을 재정의하여 PrestoS3FileSystem을 대신 사용해도 됩니다. 그러려면 다음 예제와 같이 `presto-connector-hive` 구성 분류를 사용하여 `hive.s3-file-system-type`을 `PRESTO`로 설정하세요. 자세한 내용은 [애플리케이션 구성](emr-configure-apps.md) 단원을 참조하십시오.

```
[
   {
      "Classification": "presto-connector-hive",
      "Properties": {
         "hive.s3-file-system-type": "PRESTO"
      }
   }
]
```

PrestoS3FileSystem을 사용한다면 `presto-connector-hive` 구성 분류에 따라 PrestoS3FileSystem 속성을 구성하세요. 사용 가능한 속성에 대한 자세한 내용은 Presto 설명서의 Hive Connector 섹션에서 [Amazon S3 configuration](https://prestodb.io/docs/current/connector/hive.html#amazon-s3-configuration)을 참조하세요. 이러한 설정은 EMRFS에는 적용되지 않습니다.

## 최종 사용자 위장의 기본 설정
<a name="emr-presto-end-user-impersonation"></a>

Amazon EMR 버전 5.12.0 이상에서는 HDFS에 액세스할 때 기본적으로 최종 사용자 위장을 활성화합니다. 자세한 내용은 Presto 설명서에서 [End user impersonation](https://prestodb.io/docs/current/connector/hive-security.html#end-user-impersonation)을 참조하세요. `presto-config` 구성 분류로 이 설정을 변경하여 `hive.hdfs.impersonation.enabled` 속성을 `false`로 설정합니다.

## Presto 웹 인터페이스의 기본 포트
<a name="emr-presto-default-web-port"></a>

Amazon EMR은 기본적으로 PrestoDB 및 Trino에 대해 Presto 코디네이터의 Presto 웹 인터페이스에서 포트 8889를 사용하도록 구성합니다. 포트를 변경하려면 `presto-config` 구성 분류를 사용하여 `http-server.http.port` 속성을 설정합니다. 자세한 내용은 Presto 설명서에서 *Deploying Presto* 섹션의 [Config properties](https://prestodb.io/docs/current/installation/deployment.html#config-properties)를 참조하세요.

## 일부 릴리스의 Hive 버킷 실행 문제
<a name="emr-presto-bucket-execution"></a>

Presto 버전 152.3에는 일부 상황에서 Presto 쿼리 성능이 크게 저하되는 Hive 버킷 실행 문제가 있습니다. Amazon EMR 버전 5.0.3, 5.1.0 및 5.2.0에는 이 버전의 Presto가 포함되어 있습니다. 이 문제를 완화하려면 다음 예제와 같이 `presto-connector-hive` 구성 분류를 사용하여 `hive.bucket-execution` 속성을 `false`로 설정합니다.

```
[
   {
      "Classification": "presto-connector-hive",
      "Properties": {
         "hive.bucket-execution": "false"
      }
   }
]
```