Druid의 SQL 기반 인제스트 참조

Druid의 SQL 기반 인제스트 참조 (SQL-based ingestion in Druid)

Druid의 SQL 기반 인제스트(멀티 스테이지 쿼리 태스크 엔진)에 대한 참조 정보를 정리한 문서예요. MSQ 태스크 엔진, SQL 확장(EXTERN·INSERT·REPLACE), 그리고 일반 용어(controller · worker · partition · shuffle)를 다루어요.

출처: 문서

본문

이 문서는 SQL 기반 인제스트를 위한 참조(reference) 정보를 제공해요.

MSQ 태스크 엔진 (MSQ task engine)

멀티 스테이지 쿼리(MSQ) 태스크 엔진은 SQL 문장을 배치 태스크로 실행해 대규모 데이터를 Druid에 유입하는 데 사용돼요. 컨트롤러(controller) 태스크 하나와 하나 이상의 워커(worker) 태스크로 실행되며, 스테이지(stage) 간 셔플(shuffle)을 통해 데이터를 교환해요. 자세한 실행 방식은 개념 문서를 참고하세요.

SQL 확장 (SQL extensions)

인제스트를 지원하기 위해 MSQ 태스크 엔진은 다음 SQL 기능을 제공해요.

  • EXTERN: 쿼리에서 외부 데이터를 읽거나 쓸 때 사용하는 함수예요.
  • INSERT: 새 데이터 소스를 만들거나 기존 데이터 소스에 데이터를 추가해요.
  • REPLACE: 기존 데이터 소스의 데이터를 덮어써요.

이들이 사용하는 파라미터(예: 파티셔닝, 클러스터링, 컨텍스트 파라미터)와 오류 코드에 대한 자세한 참조는 아래 "더 알아보기" 링크를 확인하세요.

일반 용어 (General vocabulary)

  • Controller: query_controller 타입의 인덱싱 서비스 태스크로, 쿼리 실행을 관리해요. 쿼리당 하나씩 존재해요.
  • Worker: query_worker 타입의 인덱싱 서비스 태스크로, 쿼리를 실행해요. 쿼리당 여러 개일 수 있어요.
  • Partition: 워커 태스크가 출력하는 데이터의 조각이에요. INSERT나 REPLACE 쿼리에서 마지막 스테이지의 파티션은 Druid 세그먼트가 돼요.
  • Shuffle: 워커 간에 데이터를 파티션 단위로 교환하는 과정이에요. 셔플 중 각 출력 파티션은 클러스터링 키로 정렬돼요.

더 알아보기 (Learn more)

  • MSQ 핵심 개념 문서에서 MSQ 태스크 엔진의 동작 원리를 자세히 살펴보세요.
  • MSQ 예제 문서에서 INSERT·REPLACE·EXTERN을 실제 쿼리로 확인해 보아요.
  • MSQ 알려진 문제 문서에서 현재 지원되지 않는 기능과 제약을 확인하세요.