기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
아마존 EMR에서 프레스토를 사용할 때 고려할 사항
Amazon EMR에서 Presto를
프레스토 명령줄 실행 파일 프레스토 명령줄 실행
Amazon EMR에서 PrestoDB와 Trino는 모두 다음 예와 같이 동일한 명령줄 실행 파일을 사용합니다.presto-cli
presto-cli --catalog hive
구성할 수 없는 Presto 배포 속성
사용하는 Amazon EMR 버전에 따라 사용 가능한 Presto 배포 구성이 결정됩니다. 이러한 구성 속성에 대한 자세한 내용은 Presto 설명서의 Presto 배포를properties
파일의 다양한 구성 옵션을 보여줍니다.
파일 | 구성 가능 |
---|---|
|
PrestoDB: Amazon EMR 버전 4.0.0 이상에서 구성할 수 있습니다. 트리노 (PrestoSQL): 아마존 EMR 버전 6.1.0 이상에서 구성할 수 있습니다. |
|
PrestoDB: Amazon EMR 버전 4.0.0 이상에서 구성할 수 있습니다. 트리노 (PrestoSQL): 아마존 EMR 버전 6.1.0 이상에서 구성할 수 있습니다. |
|
PrestoDB: Amazon EMR 버전 4.1.0 이상에서 구성할 수 있습니다. 트리노 (PrestoSQL): 아마존 EMR 버전 6.1.0 이상에서 구성할 수 있습니다. |
|
PrestoDB: Amazon EMR 버전 5.6.0 이상에서 구성할 수 있습니다. 트리노 (PrestoSQL): 아마존 EMR 버전 6.1.0 이상에서 구성할 수 있습니다. |
|
구성할 수 없습니다. |
PrestoDB 및 트리노 설치
Presto라는 애플리케이션 이름은 클러스터에 PrestoDB를 설치하는 데 계속 사용됩니다. 클러스터에 Trino를 설치하려면 애플리케이션 이름 Trino (또는 이전 버전의 Amazon EMR에서는 PrestoSQL) 를 사용하십시오.
PrestoDB 또는 Trino를 설치할 수 있지만 단일 클러스터에 둘 다 설치할 수는 없습니다. 클러스터를 만들려고 할 때 PrestoDB와 Trino를 모두 지정하면 검증 오류가 발생하고 클러스터 생성 요청이 실패합니다.
EMRFS 및 PrestoS3FileSystem 구성
아마존 EMR 버전 5.12.0 이상에서는 PrestoDB가 EMRFS를 사용할 수 있습니다. 이것이 기본 구성입니다. EMRFS는 아마존 EMR 버전 6.1.0 이상에서 트리노 (PrestoSQL) 의 기본 파일 시스템이기도 합니다. 자세한 내용은 Amazon EMR 관리 안내서의 EMR 파일 시스템 (EMR Management Guide) 을 참조하세요. 이전 버전의 Amazon EMR에서는FileSystem PrestOS3가 유일한 구성 옵션입니다.
보안 구성을 사용하여 Amazon S3 EMFS 데이터에 대한 암호화를 설정할 수 있습니다. Amazon S3에 EMFS를 요청하기 위해 IAM 역할을 사용할 수도 있습니다. 자세한 내용은 Amazon EMR 관리 안내서의 암호화 옵션 이해 및 Amazon S3에 대한 EMRFS 요청에 대한 IAM 역할 구성을 참조하십시오.
Amazon EMR 버전 5.12.0을 사용하는 Amazon S3에서 기본 데이터를 쿼리하는 경우 Presto 오류가 발생할 수 있습니다. 이는 Presto가 구성 분류 값을 가져오지 못하기 때문입니다emrfs-site.xml
. 이 문제를 해결하려면 아래에emrfs
하위 디렉터리를usr/lib/presto/plugin/hive-hadoop2/
만들고 기존/usr/share/aws/emr/emrfs/conf/emrfs-site.xml
파일에 대한 심볼릭 링크를 생성하십시오.usr/lib/presto/plugin/hive-hadoop2/emrfs
그런 다음 presto-server 프로세스를 다시 시작합니다 (sudo presto-server stop
다음 순서sudo presto-server start
).
EMRFS 기본값을 재정의하고 PrestOS3를FileSystem 대신 사용할 수 있습니다. 그러려면 다음 예제와 같이 presto-connector-hive
구성 분류를 사용하여 hive.s3-file-system-type
을 PRESTO
로 설정하십시오. 자세한 정보는 애플리케이션 구성을 참조하세요.
[ { "Classification": "presto-connector-hive", "Properties": { "hive.s3-file-system-type": "PRESTO" } } ]
FileSystemPrestOS3를 사용하는 경우presto-connector-hive
구성 분류를 사용하거나trino-connector-hive
Trino를 사용하여 PrestOS3FileSystem 속성을 구성하십시오. 사용 가능한 속성에 대한 자세한 내용은 Presto 설명서의 Hive 커넥터 섹션에서 Amazon S3 구성을
최종 사용자 사칭을 위한 기본 설정
기본적으로 Amazon EMR 버전 5.12.0 이상에서는 최종 사용자를 가장하여 HDFS에 액세스할 수 있습니다. 자세한 내용은 Presto 문서의 최종 사용자 사칭을presto-config
구성 분류와 함께 이 설정을 변경하려면hive.hdfs.impersonation.enabled
속성을 로 설정합니다false
.
Presto 웹 인터페이스용 기본 포트
기본적으로 Amazon EMR은 프레스토 코디네이터의 프레스토 웹 인터페이스가 포트 8889 (PrestoDB 및 Trino용) 를 사용하도록 구성합니다. 포트를 변경하려면presto-config
구성 분류를 사용하여http-server.http.port
속성을 설정합니다. 자세한 내용은 Presto 설명서의 Presto 배포 섹션의 Config 속성을
일부 릴리스의 Hive 버킷 실행 관련 문제
Presto 버전 152.3에는 일부 상황에서 Presto 쿼리 성능이 크게 저하되는 Hive 버킷 실행 문제가 있습니다. 아마존 EMR 버전 5.0.3, 5.1.0 및 5.2.0에는 이 버전의 프레스토가 포함되어 있습니다. 이 문제를 완화하려면 다음 예와 같이presto-connector-hive
구성 분류를 사용하여hive.bucket-execution
속성을 로 설정하십시오.false
[ { "Classification": "presto-connector-hive", "Properties": { "hive.bucket-execution": "false" } } ]