멀티 스테이지 쿼리 엔진 트러블슈팅

멀티 스테이지 쿼리 엔진 트러블슈팅 (Troubleshoot Multi-Stage Query Engine)

Pinot 멀티 스테이지(다단계) 쿼리 엔진 관련 문제를 진단·해결하는 방법을 안내해요.

출처: 문서

본문

개요 (Overview)

멀티 스테이지 쿼리 엔진(v2 엔진)은 조인, 서브쿼리, 윈도우 함수 등 복잡한 쿼리를 처리해요. 이 엔진 관련 문제는 대부분 워커 리소스, 실행 계획, 메모리·셔플 관련 원인에서 발생해요.

흔한 문제와 진단 (Common issues and diagnosis)

  • 쿼리 오류 — 문법, 타입, 함수 지원 여부 등을 확인해요. 실행 계획을 확인해 오류가 난 단계를 찾아요.
  • 메모리 부족/실패 — 워커의 오퍼레이터 메모리, 셔플 버퍼가 부족하면 쿼리가 실패할 수 있어요. 워커 리소스를 늘려요.
  • 느린 쿼리 — 대형 셔플, 비효율적 조인 순서 등이 원인일 수 있어요. 실행 계획과 통계를 확인해요.

실행 계획 확인 (Checking the query plan)

EXPLAIN PLAN을 사용해 멀티 스테이지 실행 계획을 확인하고 비효율적인 단계(오퍼레이터)를 식별해요. 조인·집계 순서를 개선할 수 있어요.

리소스 조정 (Resource tuning)

  • 워커 스레드, 메모리, 셔플 버퍼 크기를 늘려 복잡한 쿼리를 지원해요.
  • 워커가 과부하되지 않도록 Run Multi-Stage Engine in Production의 지침을 따르세요.

모범 사례 (Best practices)

  • 쿼리가 지원되는 기능을 쓰는지 확인하세요.
  • 가능하면 셔플 양을 줄이는 쿼리(파티션 일치 조인 등)를 작성하세요.

더 알아보기 (Learn more)