JOBS_TIMELINE_BY_USER 뷰

INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER 뷰는 현재 프로젝트에서 현재 사용자가 제출한 작업의 시간 구획별 거의 실시간 BigQuery 메타데이터를 포함합니다. 이 뷰는 현재 실행 중인 작업과 완료된 작업을 포함합니다.

필수 권한

INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER 뷰를 쿼리하려면 프로젝트에 대한 bigquery.jobs.list Identity and Access Management(IAM) 권한이 필요합니다. 사전 정의된 다음 IAM 역할에는 각각 필수 권한이 포함되어 있습니다.

  • 프로젝트 뷰어
  • BigQuery 사용자

BigQuery 권한에 대한 자세한 내용은 IAM으로 액세스 제어를 참조하세요.

스키마

INFORMATION_SCHEMA.JOBS_TIMELINE_BY_* 뷰를 쿼리하면 쿼리 결과에는 모든 BigQuery 작업 실행 내역(초 단위)에 대한 행 하나가 포함됩니다. 각 기간은 1초 간격으로 시작하고 정확히 1초 동안 지속됩니다.

INFORMATION_SCHEMA.JOBS_TIMELINE_BY_* 뷰에는 다음과 같은 스키마가 있습니다.

열 이름 데이터 유형
period_start TIMESTAMP 이 기간의 시작 시간
period_slot_ms INTEGER 이 기간 동안 사용된 슬롯(밀리초)
period_shuffle_ram_usage_ratio FLOAT 선택한 기간의 셔플 사용량 비율
project_id STRING (클러스터링 열) 프로젝트의 ID
project_number INTEGER 프로젝트의 번호
user_email STRING (클러스터링 열) 작업을 실행한 사용자의 이메일 주소 또는 서비스 계정
job_id STRING 작업의 ID. 예를 들면 bquxjob_1234입니다.
job_type STRING 작업의 유형. QUERY, LOAD, EXTRACT, COPY, null일 수 있습니다. 작업 유형 null은 스크립트 작업 문 평가 또는 구체화된 뷰 새로고침과 같은 내부 작업을 나타냅니다.
statement_type STRING 유효한 경우 쿼리 문의 유형. 예: SELECT, INSERT, UPDATE 또는 DELETE
job_creation_time TIMESTAMP (파티션 나누기 열) 이 작업의 생성 시간 파티션 나누기는 이 타임스탬프의 UTC 시간에 따릅니다.
job_start_time TIMESTAMP 이 작업의 시작 시간
job_end_time TIMESTAMP 이 작업의 종료 시간
state STRING 이 기간이 끝날 때 작업 실행 상태 유효한 상태에는 PENDING, RUNNING, DONE이 있습니다.
reservation_id STRING 이 기간이 끝날 때 이 작업에 할당된 기본 예약의 이름(해당되는 경우)
total_bytes_processed INTEGER 작업에서 처리한 총 바이트
error_result RECORD ErrorProto. 로서 오류 세부정보(해당되는 경우)
cache_hit BOOLEAN 이 작업의 쿼리 결과가 캐시에서 제공되었는지 여부
period_estimated_runnable_units INTEGER 이 기간에 즉시 예약할 수 있는 작업 단위입니다. 이러한 작업 단위의 추가 슬롯은 예약에 있는 다른 쿼리에 추가 슬롯이 필요하지 않은 한 쿼리를 가속화합니다.

데이터 보관

이 뷰에는 현재 실행 중인 작업과 지난 180일 동안의 작업 기록이 포함되어 있습니다.

범위 및 구문

이 뷰에 대한 쿼리에는 리전 한정자가 있어야 합니다. 리전 한정자를 지정하지 않으면 모든 리전에서 메타데이터가 검색됩니다. 다음 표에서는 이 뷰의 리전 범위와 리소스 범위를 설명합니다.

뷰 이름 리소스 범위 리전 범위
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER 지정된 프로젝트에서 현재 사용자가 제출한 작업입니다. REGION
다음을 바꿉니다.

  • (선택사항) PROJECT_ID: Google Cloud 프로젝트의 ID입니다. 지정하지 않으면 기본 프로젝트가 사용됩니다.
+ REGION: 모든 데이터 세트 리전 이름입니다. 예를 들면 region-us입니다.

다음 쿼리는 지정된 프로젝트의 현재 사용자가 제출한 작업에서 초당 소비한 총 슬롯 밀리초를 표시합니다.

SELECT
  period_start,
  SUM(period_slot_ms) AS total_period_slot_ms
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER
GROUP BY
  period_start
ORDER BY
  period_start DESC;

결과는 다음과 비슷합니다.

+---------------------------+---------------------------------+
|  period_start             |  total_period_slot_ms           |
+---------------------------+---------------------------------+
|  2019-10-10 00:00:04 UTC  |  118639                         |
|  2019-10-10 00:00:03 UTC  |  251353                         |
|  2019-10-10 00:00:02 UTC  |  1074064                        |
|  2019-10-10 00:00:01 UTC  |  1124868                        |
|  2019-10-10 00:00:00 UTC  |  1113961                        |
+---------------------------+---------------------------------+