기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Presto 엄격한 모드 활성화
경우에 따라 쿼리를 오래 실행하면 비용이 증가하고 Amazon이 더 많은 클러스터 리소스를 EMR 사용하게 될 수 있습니다. 이렇게 하면 클러스터의 다른 워크로드에서 리소스를 가져옵니다. Amazon EMR 버전 6.8 이상에서는 다음과 같은 유형의 장기 실행 쿼리를 거부하거나 경고하는 엄격 모드 기능을 사용할 수 있습니다.
-
파티셔닝된 열에 조건자가 없는 쿼리는 테이블에서 대량의 데이터를 스캔하게 됩니다.
-
두 개의 대형 테이블 간 교차 조인이 있는 쿼리
-
많은 행을 제한 없이 정렬하는 쿼리
Presto가 쿼리 계획을 완전히 최적화한 후 엄격한 모드가 실행됩니다. 엄격한 모드를 사용하고 쿼리 요구 사항에 맞게 사용자 지정하려면 다음과 같은 방법으로 Presto를 구성할 수 있습니다.
엄격한 모드를 위한 Presto 구성 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
설정 | 설명 | 기본값 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strict-mode-enabled |
엄격한 모드를 켜고 끕니다. 값이 true 이면 엄격한 모드가 켜져 있음을 나타냅니다. |
false |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strict-mode-fail-query |
엄격한 모드에서 장기 실행 쿼리가 감지되면 쿼리를 거부합니다. 이 false 경우 Amazon은 EMR 경고만 표시합니다. |
false |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strict-mode-restrictions |
엄격한 모드가 켜져 있을 때 적용할 제한 사항을 지정합니다. 엄격 모드는 _ _, MANDATORY _ PARTITION DISALLOW CROSS _ PREDICATEJOIN, _와 LIMITED 같은 제한을 지원합니다SORT. |
MANDATORY_PARTITION_PREDICATE,DISALLOW_CROSS_JOIN, LIMITED_SORT |
엄격한 모드를 시험해 보려면 이러한 구성을 재정의하거나 Presto 클라이언트를 사용할 때 세션 속성으로 설정할 수 있습니다.
클러스터를 만들 때 구성을 설정하려면 다음을 사용하십시오. AWS Management Console
-
클러스터 생성을 선택하고 Amazon EMR 버전 6.8.0, 프레스토 또는 트리노를 선택합니다. 자세한 내용은 PrestoDB 및 Trino 설치를 참조하세요.
-
엄격 모드의 구성 속성을 직접 지정하거나 Amazon S3에 JSON 파일을 업로드하십시오. 선택적으로 메타스토어에 대한 항목을 선택합니다. VPC, 서브넷, 부트스트랩 작업, Key Pair, 보안 그룹을 지정합니다. 클러스터 생성을 선택하여 클러스터를 생성합니다.
-
클러스터의 프라이머리 노드에 로그인하고
presto-cli
또는trino-cli
를 실행합니다. -
쿼리를 제출합니다. 엄격한 모드는 각 쿼리를 검증하고 장기 실행 쿼리인지 확인합니다.
strict-mode-fail-query
설정에 따라 Amazon은 쿼리를 EMR 거부하거나 경고를 표시합니다. -
쿼리를 마치면 클러스터를 종료하고 리소스를 삭제합니다.
다음을 사용하여 실행 중인 클러스터에서 구성을 설정하려면 AWS CLI
-
AWS CLI 및
presto-cli
또는 를 사용하여 클러스터의 기본 노드에trino-cli
로그인합니다. -
원하는 값으로 다음 명령을 실행합니다.
set session strict_mode_enabled = true; set session strict_mode_fail_query = false; set session strict_mode_restrictions = 'DISALLOW_CROSS_JOIN,LIMITED_SORT';
고려 사항
엄격한 모드를 사용할 때 다음 사항을 고려합니다.
-
경우에 따라 엄격한 모드에서는 리소스를 많이 소비하지 않는 단기 실행 쿼리를 거부할 수 있습니다. 예를 들어 소형 테이블에 대한 쿼리는 동적 필터링을 적용하지 않거나 내부 조인을 교차 조인으로 대체하지 않습니다. 이로 인해 쿼리에서 필수 파티션 조건자를 사용하거나 교차 조인을 허용하지 않을 수 있습니다. 이 경우 엄격한 모드에서 쿼리를 거부합니다.
-
엄격 모드 검사는 SELECT INSERTSELECT, CREATE TABLE AS 및 EXPLAIN ANALYZE 쿼리 유형에만 적용됩니다.
-
Hive 커넥터에서는 필수 파티션 조건자에 대한 제한만 사용할 수 있습니다.