메인 콘텐츠로 건너뛰기
ClickHouse Cloud에서 쿼리하기이 시스템 테이블의 데이터는 ClickHouse Cloud의 각 노드에 로컬로 저장됩니다. 따라서 전체 데이터를 모두 확인하려면 clusterAllReplicas 함수를 사용해야 합니다. 자세한 내용은 여기를 참조하십시오.

설명

최근의 비동기 작업(예: 테이블 로딩)에 대한 정보와 상태를 담고 있습니다. 이 테이블에는 각 작업마다 하나의 행이 있습니다. 이 테이블의 정보를 시각화하는 도구로 utils/async_loader_graph를 사용할 수 있습니다.

컬럼

  • job (String) — 작업 이름입니다(고유하지 않을 수 있습니다).
  • job_id (UInt64) — 작업의 고유 ID입니다.
  • dependencies (Array(UInt64)) — 이 작업보다 먼저 완료되어야 하는 작업 ID 목록입니다.
  • dependencies_left (UInt64) — 아직 완료되지 않은 의존성의 현재 개수입니다.
  • status (Enum8(‘PENDING’ = 0, ‘OK’ = 1, ‘FAILED’ = 2, ‘CANCELED’ = 3)) — 작업의 현재 로드 상태입니다. PENDING: 로드 작업이 아직 시작되지 않았습니다. OK: 로드 작업이 실행되어 성공했습니다. FAILED: 로드 작업이 실행되었지만 실패했습니다. CANCELED: 제거되었거나 의존성 실패로 인해 로드 작업이 실행되지 않습니다.
  • is_executing (UInt8) — 현재 워커가 이 작업을 실행 중입니다.
  • is_blocked (UInt8) — 이 작업은 의존성이 완료되기를 기다리고 있습니다.
  • is_ready (UInt8) — 이 작업은 실행할 준비가 되었으며 워커를 기다리고 있습니다.
  • elapsed (Float64) — 실행 시작 후 경과한 시간(초)입니다. 작업이 시작되지 않았다면 0입니다. 작업이 완료되었다면 총 실행 시간입니다.
  • pool_id (UInt64) — 현재 이 작업에 할당된 풀의 ID입니다.
  • pool (String) — pool_id 풀의 이름입니다.
  • priority (Int64) — pool_id 풀의 우선순위입니다.
  • execution_pool_id (UInt64) — 이 작업이 실행되는 풀의 ID입니다. 실행이 시작되기 전에는 처음 할당된 풀과 같습니다.
  • execution_pool (String) — execution_pool_id 풀의 이름입니다.
  • execution_priority (Int64) — execution_pool_id 풀의 우선순위입니다.
  • ready_seqno (Nullable(UInt64)) — 준비된 작업에서는 null이 아닙니다. 워커는 자신의 풀에 있는 준비 큐에서 다음에 실행할 작업을 가져옵니다. 준비된 작업이 여러 개이면 ready_seqno 값이 가장 낮은 작업이 선택됩니다.
  • waiters (UInt64) — 이 작업을 기다리는 스레드 수입니다.
  • exception (Nullable(String)) — 실패했거나 취소된 작업에서는 null이 아닙니다. 쿼리 실행 중 발생한 오류 메시지 또는 이 작업이 취소된 원인이 된 오류와 작업 이름의 의존성 실패 체인을 저장합니다.
  • schedule_time (DateTime64(6)) — 작업이 생성되어 실행되도록 예약된 시간입니다(일반적으로 모든 의존성과 함께 예약됨).
  • enqueue_time (Nullable(DateTime64(6))) — 작업이 준비 상태가 되어 해당 풀의 준비 큐에 추가된 시간입니다. 작업이 아직 준비되지 않았다면 null입니다.
  • start_time (Nullable(DateTime64(6))) — 워커가 준비 큐에서 작업을 꺼내 실행을 시작한 시간입니다. 작업이 아직 시작되지 않았다면 null입니다.
  • finish_time (Nullable(DateTime64(6))) — 작업 실행이 완료된 시간입니다. 작업이 아직 완료되지 않았다면 null입니다.
대기 중인 작업은 다음 상태 중 하나일 수 있습니다:
  • is_executing (UInt8) - 현재 worker가 작업을 실행하고 있습니다.
  • is_blocked (UInt8) - 작업은 종속 작업이 완료되기를 기다립니다.
  • is_ready (UInt8) - 작업은 실행할 준비가 되어 있으며 worker를 기다립니다.
  • elapsed (Float64) - 실행 시작 후 경과한 시간(초)입니다. 작업이 시작되지 않은 경우 0입니다. 작업이 완료된 경우 총 실행 시간입니다.
모든 작업에는 연결된 풀이 있으며, 작업은 이 풀에서 시작됩니다. 각 풀에는 고정된 우선순위와 변경 가능한 최대 워커 수가 있습니다. 우선순위가 더 높은(priority 값이 더 낮은) 작업이 먼저 실행됩니다. 더 높은 우선순위의 작업이 하나라도 준비 상태이거나 실행 중이면, 더 낮은 우선순위의 작업은 시작되지 않습니다. 작업의 우선순위는 우선 처리로 높일 수 있지만(낮출 수는 없음), 예를 들어 들어오는 쿼리에 이 table이 필요하면 table loading 및 시작을 위한 작업이 우선 처리됩니다. 작업 실행 중에도 우선순위를 높일 수 있지만, 작업은 자신의 execution_pool에서 새로 할당된 pool로 이동하지 않습니다. 이 작업은 우선순위 역전을 방지하기 위해 새 작업을 만들 때 pool을 사용합니다. 이미 시작된 작업은 더 높은 우선순위의 작업에 의해 선점되지 않으며, 시작된 뒤에는 항상 완료될 때까지 실행됩니다.
  • pool_id (UInt64) - 현재 작업에 할당된 풀의 ID입니다.
  • pool (String) - pool_id 풀의 이름입니다.
  • priority (Int64) - pool_id 풀의 우선순위입니다.
  • execution_pool_id (UInt64) - 작업이 실행되는 풀의 ID입니다. 실행이 시작되기 전에는 처음 할당된 풀과 같습니다.
  • execution_pool (String) - execution_pool_id 풀의 이름입니다.
  • execution_priority (Int64) - execution_pool_id 풀의 우선순위입니다.
  • ready_seqno (Nullable(UInt64)) - 준비된 작업의 경우 null이 아닙니다. 워커는 자신의 풀의 준비 큐에서 다음에 실행할 작업을 가져옵니다. 준비된 작업이 여러 개이면 ready_seqno 값이 가장 낮은 작업이 선택됩니다.
  • waiters (UInt64) - 이 작업을 기다리는 스레드 수입니다.
  • exception (Nullable(String)) - 실패했거나 취소된 작업의 경우 null이 아닙니다. 쿼리 실행 중 발생한 오류 메시지 또는 이 작업의 취소로 이어진 오류와 작업 이름의 의존성 실패 chain을 함께 담습니다.
작업 수명 주기 동안의 시점:
  • schedule_time (DateTime64) - 작업이 생성되어 실행되도록 예약된 시각입니다(일반적으로 모든 의존성과 함께 예약됨).
  • enqueue_time (Nullable(DateTime64)) - 작업이 준비 상태가 되어 자신의 풀의 준비 큐에 들어간 시각입니다. 작업이 아직 준비되지 않았으면 Null입니다.
  • start_time (Nullable(DateTime64)) - 워커가 준비 큐에서 작업을 꺼내 실행을 시작한 시각입니다. 작업이 아직 시작되지 않았으면 Null입니다.
  • finish_time (Nullable(DateTime64)) - 작업 실행이 완료된 시각입니다. 작업이 아직 완료되지 않았으면 Null입니다.

예시

SELECT *
FROM system.asynchronous_loader
LIMIT 1
FORMAT Vertical
마지막 수정일 2026년 6월 10일