Warehouse 이벤트 시스템 테이블 참조
Important
이 시스템 테이블은 공개 미리 보기로 제공됩니다. 테이블에 액세스하려면 system
카탈로그에서 스키마를 사용하도록 설정해야 합니다. 자세한 내용은 시스템 테이블 스키마 사용을 참조하세요.
이 문서에서는 웨어하우스 이벤트 시스템 테이블을 사용하여 작업 영역에서 SQL 웨어하우스를 모니터링하고 관리하는 방법을 알아봅니다. 이 테이블은 웨어하우스가 시작, 중지, 실행 및 스케일 업 및 스케일 다운 될 때마다 행을 기록합니다. 이 문서의 샘플 쿼리를 경고와 함께 사용하여 웨어하우스에 대한 변경 내용을 계속 알 수 있습니다.
테이블 경로: 이 시스템 테이블은 .에 있습니다 system.compute.warehouse_events
.
기록된 웨어하우스 이벤트 유형
이 시스템 테이블은 다음과 같은 유형의 이벤트를 기록합니다.
SCALED_UP
: 새 클러스터가 웨어하우스에 추가되었습니다.SCALED_DOWN
: 클러스터가 웨어하우스에서 제거되었습니다.STOPPING
: 웨어하우스가 중지 중입니다.RUNNING
: 웨어하우스가 현재 실행 중입니다.STARTING
: 웨어하우스가 시작 중입니다.STOPPED
: 웨어하우스 실행이 완전히 중지되었습니다.
웨어하우스 이벤트 스키마
시스템 테이블은 warehouse_events
다음 스키마를 사용합니다.
열 이름 | 데이터 형식 | 설명 | 예시 |
---|---|---|---|
account_id |
string | Azure Databricks 계정의 ID입니다. | 7af234db-66d7-4db3-bbf0-956098224879 |
workspace_id |
string | 웨어하우스가 배포되는 작업 영역의 ID입니다. | 123456789012345 |
warehouse_id |
string | 이벤트가 관련된 SQL 웨어하우스의 ID입니다. | 123456789012345 |
event_type |
string | 웨어하우스 이벤트의 유형입니다. 가능한 값은 SCALED_UP , SCALED_DOWN , STOPPING , RUNNING , STARTING 및 STOPPED 입니다. |
SCALED_UP |
cluster_count |
정수 | 현재 실행 중인 클러스터의 수입니다. | 2 |
event_time |
timestamp | 이벤트가 UTC에서 발생한 시기의 타임스탬프입니다. | 2023-07-20T19:13:09.504Z |
샘플 쿼리
다음 샘플 쿼리는 템플릿입니다. 조직에 적합한 값을 연결합니다. 또한 이러한 쿼리에 경고를 추가하여 웨어하우스의 변경 내용에 대한 정보를 유지할 수 있습니다. 경고 만들기를 참조하세요.
다음 샘플 쿼리를 사용하여 웨어하우스 동작에 대한 인사이트를 얻습니다.
- 어떤 창고가 적극적으로 실행되고 있으며 얼마나 오래 실행되고 있습니까?
- 예상보다 오래 스케일링된 웨어하우스 식별
- 처음으로 시작하는 웨어하우스
- 청구 요금 조사
- 지난 30일 동안 사용되지 않은 창고는 무엇입니까?
- 한 달 동안 가동 시간이 가장 많은 창고
- 한 달 동안 가장 많은 시간을 업스케일링한 창고
어떤 창고가 적극적으로 실행되고 있으며 얼마나 오래 실행되고 있습니까?
이 쿼리는 실행 시간과 함께 현재 활성 상태인 웨어하우스를 식별합니다.
USE CATALOG `system`;
SELECT
we.warehouse_id,
we.event_time,
TIMESTAMPDIFF(MINUTE, we.event_time, CURRENT_TIMESTAMP()) / 60.0 AS running_hours,
we.cluster_count
FROM
compute.warehouse_events we
WHERE
we.event_type = 'RUNNING'
AND NOT EXISTS (
SELECT 1
FROM compute.warehouse_events we2
WHERE we2.warehouse_id = we.warehouse_id
AND we2.event_time > we.event_time
)
경고 기회: 작업 영역 관리자로서 웨어하우스가 예상보다 오래 실행되는 경우 경고를 받을 수 있습니다. 예를 들어 쿼리 결과를 사용하여 실행 시간이 특정 임계값을 초과할 때 트리거할 경고 조건을 설정할 수 있습니다.
예상보다 오래 스케일링된 웨어하우스 식별
이 쿼리는 실행 시간과 함께 현재 활성 상태인 웨어하우스를 식별합니다.
use catalog `system`;
SELECT
we.warehouse_id,
we.event_time,
TIMESTAMPDIFF(MINUTE, we.event_time, CURRENT_TIMESTAMP()) / 60.0 AS upscaled_hours,
we.cluster_count
FROM
compute.warehouse_events we
WHERE
we.event_type = 'SCALED_UP'
AND we.cluster_count >= 2
AND NOT EXISTS (
SELECT 1
FROM compute.warehouse_events we2
WHERE we2.warehouse_id = we.warehouse_id
AND (
(we2.event_type = 'SCALED_DOWN') OR
(we2.event_type = 'SCALED_UP' AND we2.cluster_count < 2)
)
AND we2.event_time > we.event_time
)
경고 기회: 이 조건에 대한 경고는 리소스 및 비용을 모니터링하는 데 도움이 될 수 있습니다. 스케일링된 시간이 특정 한도를 초과하는 경우에 대한 경고를 설정할 수 있습니다.
처음으로 시작하는 웨어하우스
이 쿼리는 처음으로 시작되는 새 웨어하우스에 대해 알려줍니다.
use catalog `system`;
SELECT
we.warehouse_id,
we.event_time,
we.cluster_count
FROM
compute.warehouse_events we
WHERE
(we.event_type = 'STARTING' OR we.event_type = 'RUNNING')
AND NOT EXISTS (
SELECT 1
FROM compute.warehouse_events we2
WHERE we2.warehouse_id = we.warehouse_id
AND we2.event_time < we.event_time
)
경고 기회: 새 웨어하우스에 대한 경고는 조직에서 리소스 할당을 추적하는 데 도움이 될 수 있습니다. 예를 들어 새 웨어하우스가 시작될 때마다 트리거되는 경고를 설정할 수 있습니다.
청구 요금 조사
웨어하우스가 청구 요금을 생성하기 위해 무엇을 하고 있었는지 구체적으로 이해하려는 경우 이 쿼리는 웨어하우스가 확장 또는 축소되었거나 시작 및 중지된 정확한 날짜와 시간을 알려줄 수 있습니다.
use catalog `system`;
SELECT
we.warehouse_id AS warehouse_id,
we.event_type AS event,
we.event_time AS event_time,
we.cluster_count AS cluster_count
FROM
compute.warehouse_events AS we
WHERE
we.event_type IN (
'STARTING', 'RUNNING', 'STOPPING', 'STOPPED',
'SCALING_UP', 'SCALED_UP', 'SCALING_DOWN', 'SCALED_DOWN'
)
AND MONTH(we.event_time) = 7
AND YEAR(we.event_time) = YEAR(CURRENT_DATE())
AND we.warehouse_id = '19c9d68652189278'
ORDER BY
event_time DESC
지난 30일 동안 사용되지 않은 창고는 무엇입니까?
이 쿼리는 사용되지 않는 리소스를 식별하여 비용 최적화를 위한 기회를 제공하는 데 도움이 됩니다.
use catalog `system`;
SELECT
we.warehouse_id,
we.event_time,
we.event_type,
we.cluster_count
FROM
compute.warehouse_events AS we
WHERE
we.warehouse_id IN (
SELECT DISTINCT
warehouse_id
FROM
compute.warehouse_events
WHERE
MONTH(event_time) = 6
AND YEAR(event_time) = YEAR(CURRENT_DATE())
)
AND we.warehouse_id NOT IN (
SELECT DISTINCT
warehouse_id
FROM
compute.warehouse_events
WHERE
MONTH(event_time) = 7
AND YEAR(event_time) = YEAR(CURRENT_DATE())
)
ORDER BY
event_time DESC
경고 기회: 사용하지 않는 리소스에 대한 경고를 수신하면 조직이 비용을 최적화하는 데 도움이 될 수 있습니다. 예를 들어 쿼리에서 사용되지 않는 웨어하우스를 검색할 때 트리거되는 경고를 설정할 수 있습니다.
한 달 동안 가동 시간이 가장 많은 창고
이 쿼리는 특정 한 달 동안 가장 많이 사용된 웨어하우스를 보여 줍니다. 이 쿼리는 7월을 예로 사용합니다.
use catalog `system`;
SELECT
warehouse_id,
SUM(TIMESTAMPDIFF(MINUTE, start_time, end_time)) / 60.0 AS uptime_hours
FROM (
SELECT
starting.warehouse_id,
starting.event_time AS start_time,
(
SELECT
MIN(stopping.event_time)
FROM
compute.warehouse_events AS stopping
WHERE
stopping.warehouse_id = starting.warehouse_id
AND stopping.event_type = 'STOPPED'
AND stopping.event_time > starting.event_time
) AS end_time
FROM
compute.warehouse_events AS starting
WHERE
starting.event_type = 'STARTING'
AND MONTH(starting.event_time) = 7
AND YEAR(starting.event_time) = YEAR(CURRENT_DATE())
) AS warehouse_uptime
WHERE
end_time IS NOT NULL
GROUP BY
warehouse_id
ORDER BY
uptime_hours DESC
경고 기회: 높은 사용률 웨어하우스를 추적할 수 있습니다. 예를 들어 웨어하우스의 작동 시간이 특정 임계값을 초과할 때 트리거되는 경고를 설정할 수 있습니다.
한 달 동안 가장 많은 시간을 업스케일링한 창고
이 쿼리는 한 달 동안 스케일링된 상태에서 상당한 시간을 보낸 웨어하우스에 대해 알려줍니다. 이 쿼리는 7월을 예로 사용합니다.
use catalog `system`;
SELECT
warehouse_id,
SUM(TIMESTAMPDIFF(MINUTE, upscaled_time, downscaled_time)) / 60.0 AS upscaled_hours
FROM (
SELECT
upscaled.warehouse_id,
upscaled.event_time AS upscaled_time,
(
SELECT
MIN(downscaled.event_time)
FROM
compute.warehouse_events AS downscaled
WHERE
downscaled.warehouse_id = upscaled.warehouse_id
AND (downscaled.event_type = 'SCALED_DOWN' OR downscaled.event_type = 'STOPPED')
AND downscaled.event_time > upscaled.event_time
) AS downscaled_time
FROM
compute.warehouse_events AS upscaled
WHERE
upscaled.event_type = 'SCALED_UP'
AND upscaled.cluster_count >= 2
AND MONTH(upscaled.event_time) = 7
AND YEAR(upscaled.event_time) = YEAR(CURRENT_DATE())
) AS warehouse_upscaled
WHERE
downscaled_time IS NOT NULL
GROUP BY
warehouse_id
ORDER BY
upscaled_hours DESC
경고 기회: 높은 사용률 웨어하우스를 추적할 수 있습니다. 예를 들어 웨어하우스의 작동 시간이 특정 임계값을 초과할 때 트리거되는 경고를 설정할 수 있습니다.