Amazon에서 Presto 사용 시 고려 사항 EMR - Amazon EMR

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

Amazon에서 Presto 사용 시 고려 사항 EMR

Amazon 에서 Presto를 실행할 때 다음 제한 사항을 고려하세요EMR.

Presto 명령줄 실행 파일

Amazon EMR에서 PrestoDB와 Trino 모두 다음 예제와 동일한 명령줄 실행 파일presto-cli인 를 사용합니다.

presto-cli --catalog hive

구성할 수 없는 Presto 배포 속성

EMR 사용하는 Amazon 버전에 따라 사용 가능한 Presto 배포 구성이 결정됩니다. 이러한 구성 속성에 대한 자세한 내용은 Presto 설명서에서 Deploying Presto를 참조하세요. 아래 테이블에는 Presto properties 파일의 여러 가지 구성 옵션이 나와 있습니다.

파일 구성 가능

log.properties

PrestoDB : Amazon EMR 버전 4.0.0 이상에서 구성 가능합니다. presto-log 구성 분류를 사용하십시오.

Trino(Presto SQL): Amazon EMR 버전 6.1.0 이상에서 구성할 수 있습니다. prestosql-log 또는 trino-log 구성 분류를 사용합니다.

config.properties

PrestoDB : Amazon EMR 버전 4.0.0 이상에서 구성 가능합니다. presto-config 구성 분류를 사용하십시오.

Trino(Presto SQL): Amazon EMR 버전 6.1.0 이상에서 구성할 수 있습니다. prestosql-config 또는 trino-config 구성 분류를 사용합니다.

hive.properties

PrestoDB : Amazon EMR 버전 4.1.0 이상에서 구성 가능합니다. presto-connector-hive 구성 분류를 사용하십시오.

Trino(Presto SQL): Amazon EMR 버전 6.1.0 이상에서 구성할 수 있습니다. prestosql-connector-hive 또는 trino-connector-hive 구성 분류를 사용합니다.

node.properties

PrestoDB : Amazon EMR 버전 5.6.0 이상에서 구성 가능합니다. presto-node 구성 분류를 사용하십시오.

Trino(Presto SQL): Amazon EMR 버전 6.1.0 이상에서 구성할 수 있습니다. prestosql-node 또는 trino-node 구성 분류를 사용합니다.

jvm.config

구성할 수 없습니다.

PrestoDB 및 Trino 설치

애플리케이션 이름(Presto)은 클러스터에 PrestoDB를 설치하는 데 계속 사용됩니다. 클러스터에 Trino를 설치하려면 애플리케이션 이름 Trino(또는 Amazon 이전 버전의 PrestoSQL)를 사용합니다EMR.

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

EMRFS 및 PrestoS3FileSystem 구성

Amazon EMR 버전 5.12.0 이상에서는 PrestoDB가 를 사용할 수 있습니다EMRFS. 기본 구성입니다. EMRFS 또한 는 Amazon EMR 버전 6.1.0 이상의 Trino(PrestoSQL)에 대한 기본 파일 시스템입니다. 자세한 내용은 Amazon EMR 관리 안내서EMR 파일 시스템(EMRFS)을 참조하세요. 이전 버전의 Amazon 에서는 EMR PrestoS3FileSystem 가 유일한 구성 옵션입니다.

보안 구성을 사용하여 Amazon S3의 EMRFS 데이터에 대한 암호화를 설정할 수 있습니다. Amazon S3에 대한 EMRFS 요청에 IAM 역할을 사용할 수도 있습니다. 자세한 내용은 Amazon EMR 관리 안내서암호화 옵션 이해 Amazon S3에 대한 EMRFS 요청에 대한 IAM 역할 구성을 참조하세요.

참고

Amazon 버전 5.12.0으로 Amazon S3의 기본 데이터를 쿼리하면 Presto 오류가 발생할 수 있습니다. EMR 이는 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 stopsudo presto-server start의 순서대로)

EMRFS 기본값을 재정의하고 PrestoS3FileSystem 를 대신 사용할 수 있습니다. 그러려면 다음 예제와 같이 presto-connector-hive 구성 분류를 사용하여 hive.s3-file-system-typePRESTO로 설정하십시오. 자세한 내용은 애플리케이션 구성 단원을 참조하십시오.

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

PrestoS3FileSystem를 사용하는 경우 presto-connector-hive 구성 분류 또는 trino-connector-hive for Trino를 사용하여 PrestoS3FileSystem 속성을 구성합니다. 사용 가능한 속성에 대한 자세한 내용은 Presto 설명서의 Hive Connector 섹션에서 Amazon S3 configuration을 참조하세요. 이러한 설정은 에 적용되지 않습니다EMRFS.

최종 사용자 위장의 기본 설정

기본적으로 Amazon EMR 버전 5.12.0 이상은 에 대한 액세스를 위해 최종 사용자 가장을 활성화합니다HDFS. 자세한 내용은 Presto 설명서에서 End user impersonation을 참조하세요. presto-config 구성 분류로 이 설정을 변경하여 hive.hdfs.impersonation.enabled 속성을 false로 설정합니다.

Presto 웹 인터페이스의 기본 포트

기본적으로 Amazon은 포트 8889(PrestoDB 및 Trino용)를 사용하도록 Presto 조정자에서 Presto 웹 인터페이스를 EMR 구성합니다. 포트를 변경하려면 presto-config 구성 분류를 사용하여 http-server.http.port 속성을 설정합니다. 자세한 내용은 Presto 설명서에서 Deploying Presto 섹션의 Config properties를 참조하세요.

일부 릴리스의 Hive 버킷 실행 문제

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