Trino에서 내결함성 실행 - 아마존 EMR

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

Trino에서 내결함성 실행

내결함성 실행은 클러스터가 쿼리 실패를 완화하는 데 사용할 수 있는 Trino의 메커니즘입니다. 이를 위해 쿼리 또는 해당 구성 요소 작업이 실패할 경우 재시도합니다. 내결함성 실행이 활성화되면 중간 교환 데이터가 스풀링되며 쿼리 실행 중 워커 중단이나 기타 장애가 발생할 경우 다른 워커가 해당 데이터를 재사용할 수 있습니다.

Trino에서의 내결함성 실행에 대한 자세한 내용은 Trino 블로그에서 초기 사용자에게 Trino ETL속도로 제공하는 Tardigrade 프로젝트를 참조하십시오.

구성

내결함성 실행은 기본적으로 비활성화됩니다. 기능을 활성화하려면 다음과 같이 trino-config 분류의 retry-policy 구성 속성을 원하는 재시도 정책에 따라 QUERY 또는 TASK로 설정합니다.

{"classification": "trino-config", "properties": { "retry-policy": "QUERY" } }

QUERY 재시도 정책은 워커 노드에서 오류가 발생할 경우 자동으로 쿼리를 재시도하도록 Trino에 지시합니다. Trino 클러스터의 워크로드 대부분이 여러 개의 작은 쿼리로 구성된 경우 QUERY 재시도 정책을 사용하는 것이 좋습니다.

TASK 재시도 정책은 실패 시 Trino가 개별 쿼리 작업을 재시도하도록 지시합니다. Trino가 대규모 배치 쿼리를 실행할 때 이 정책을 사용하는 것이 좋습니다. 클러스터는 전체 쿼리를 재시도하는 대신 쿼리 내에서 더 작은 작업을 더 효율적으로 재시도할 수 있습니다.

교환 관리자

교환 관리자는 내결함성 실행을 위해 스풀링된 데이터를 저장하고 관리합니다. 외부 스토리지를 사용하여 메모리 내 버퍼 크기를 초과하여 유출된 데이터를 저장합니다. Amazon S3, Amazon S3 호환 시스템 등과 같이 지정된 위치에 스풀링된 데이터를 저장하는 파일 시스템 기반 교환 관리자를 구성할 수 있습니다. HDFS

Amazon EMR 릴리스 6.9.0 이상에는 교환 관리자를 구성하기 위한 trino-exchange-manager 분류가 포함되어 있습니다. 이러한 릴리스는 스풀링도 지원합니다HDFS.

교환 관리자 설정

trino-exchange-manager 구성 분류를 사용하여 교환 관리자를 구성합니다. 이 분류는 코디네이터와 모든 워커 노드에서 내부적으로 etc/exchange-manager.properties 구성 파일을 생성합니다. 분류는 exchange-manager.name 구성 분류도 filesystem으로 설정합니다.

기본적으로 Amazon EMR 릴리스 6.9.0 이상은 교환 HDFS 관리자로 사용됩니다. HDFSAmazon EMR EC2 클러스터에서 사용할 수 있으며 스풀링은 기본적으로 trino-exchange/ 디렉토리에서 발생합니다. 기본 설정을 사용하려면 다음 구성을 설정합니다.

{"Classification": "trino-exchange-manager" }

사용자 지정 위치를 제공하려면 trino-exchange-manager 분류에서 다음 속성을 설정합니다.

  • exchange.use-local-hdfstrue으로 설정합니다.

  • 예를 들어HDFS, 에서 사용자 지정 디렉터리 exchange.base-directories 위치로 설정합니다. exchange.base-directories=/exchange 사용자 지정 디렉터리가 아직 없는 HDFS EMR 경우 Amazon에서 생성합니다.

HDFS익스체인지 관리자 구성

내부 테스트 결과에 따르면 다른 클라우드 기반 파일 시스템에 비해 쿼리 성능을 높이려면 HDFS 로컬로 스풀링하는 것이 좋습니다. 를 사용하여 Exchange 관리자에 대해 다음과 같은 구성을 설정할 수 있습니다. HDFS

구성 설명 기본 설정

exchange.hdfs.block-size

HDFS스토리지의 블록 크기

4MB

hdfs.config.resources

구성할 파일 경로 목록 HDFS

exchange.use-local-hdfstrue인 경우, core-site.xml, hdfs-site.xml 파일에 대한 경로를 사용합니다. 그렇지 않으면 null입니다.

추가 내결함성 실행 구성 속성과 스풀링을 위해 Amazon S3 또는 기타 Amazon S3 호환 시스템을 설정하는 방법에 대한 자세한 내용은 Trino 설명서에서 Fault-tolerant execution 페이지를 참조하세요.

고려 사항 및 제한

  • 내결함성 실행을 활성화하면 retry-policy가 설정된 시점에서 write를 지원하지 않는 커넥터에 대해 write 작업이 비활성화됩니다. Amazon EMR 릴리스 6.9.0부터 델타 레이크, 하이브 및 아이스버그 커넥터는 다음과 같은 작업을 지원합니다. write retry-policy

  • 교환 관리자를 사용하고 비용이 많이 드는 I/O 작업을 수행하는 경우 교환 관리자가 중간 데이터를 외부 스토리지로 스풀링하는 동안 쿼리 성능이 저하될 수 있습니다.