Referenční informace k systémové tabulce událostí skladových událostí
Důležité
Tato systémová tabulka je ve verzi Public Preview. Aby bylo možné získat přístup k tabulce, musí být schéma v system
katalogu povolené. Další informace naleznete v tématu Povolení schémat systémových tabulek.
V tomto článku se naučíte používat systémovou tabulku událostí skladu k monitorování a správě skladových skladů ve vašich pracovních prostorech. Tato tabulka zaznamenává řádek při každém spuštění, zastavení, spuštění a vertikálním navýšení nebo snížení kapacity skladu. Ukázkové dotazy v tomto článku můžete použít s upozorněními, abyste měli přehled o změnách skladů.
Cesta k tabulce: Tato systémová tabulka se nachází na system.compute.warehouse_events
adrese .
Typy událostí protokolovaného skladu
Tato systémová tabulka protokoluje následující typy událostí:
SCALED_UP
: Do skladu se přidal nový cluster.SCALED_DOWN
: Cluster byl odebrán ze skladu.STOPPING
: Sklad je v procesu zastavení.RUNNING
: Sklad je aktivně spuštěný.STARTING
: Sklad se právě spouští.STOPPED
: Sklad se úplně zastavil.
Schéma událostí skladu
warehouse_events
Systémová tabulka používá následující schéma:
Název sloupce | Datový typ | Popis | Příklad |
---|---|---|---|
account_id |
string | ID účtu Azure Databricks. | 7af234db-66d7-4db3-bbf0-956098224879 |
workspace_id |
string | ID pracovního prostoru, ve kterém je sklad nasazen. | 123456789012345 |
warehouse_id |
string | ID SQL Warehouse, ke které událost souvisí. | 123456789012345 |
event_type |
string | Typ události skladu. Možné hodnoty jsou SCALED_UP , , SCALED_DOWN , RUNNING STOPPING , STARTING , a STOPPED . |
SCALED_UP |
cluster_count |
integer | Počet clusterů, které jsou aktivně spuštěné. | 2 |
event_time |
časové razítko | Časové razítko, kdy došlo k události ve standardu UTC. | 2023-07-20T19:13:09.504Z |
Vzorové dotazy
Následující ukázkové dotazy jsou šablony. Připojte všechny hodnoty, které mají smysl pro vaši organizaci. Do těchto dotazů můžete také přidat upozornění, která vám pomůžou udržet si přehled o změnách vašich skladů. Viz Vytvoření výstrahy.
Pomocí následujících ukázkových dotazů získáte přehled o chování skladu:
- Které sklady aktivně běží a jak dlouho?
- Identifikace skladů, které jsou škálované déle, než se čekalo
- Sklady, které se spouští poprvé
- Zkoumání fakturačních poplatků
- Které sklady se během posledních 30 dnů nepoužily?
- Sklady s největší dostupností za měsíc
- Sklady, které strávily nejvíce času škálováním během měsíce
Které sklady aktivně běží a jak dlouho?
Tento dotaz identifikuje, které sklady jsou aktuálně aktivní spolu s dobou běhu v hodinách.
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
)
Příležitost upozornění: Jako správce pracovního prostoru můžete chtít být upozorněni, pokud sklad běží déle, než se čekalo. Pomocí výsledků dotazu můžete například nastavit podmínku upozornění, která se aktivuje, když spuštěná hodina překročí určitou prahovou hodnotu.
Identifikace skladů, které jsou škálované déle, než se čekalo
Tento dotaz identifikuje, které sklady jsou aktuálně aktivní spolu s dobou běhu v hodinách.
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
)
Příležitost k upozornění: Upozorňování na tuto podmínku vám může pomoct monitorovat prostředky a náklady. Výstrahu můžete nastavit, když počet hodin ve škálování překročí určitý limit.
Sklady, které se spouští poprvé
Tento dotaz vás informuje o nových skladech, které se spouští poprvé.
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
)
Příležitost k upozornění: Upozorňování na nové sklady může vaší organizaci pomoct sledovat přidělení prostředků. Můžete například nastavit upozornění, které se aktivuje při každém spuštění nového skladu.
Zkoumání fakturačních poplatků
Pokud chcete zjistit konkrétně, co sklad dělá za účelem generování fakturačních poplatků, tento dotaz vám může sdělit přesná data a časy vertikálního navýšení nebo snížení kapacity skladu nebo spuštění a zastavení.
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
Které sklady se během posledních 30 dnů nepoužily?
Tento dotaz vám pomůže identifikovat nevyužité prostředky a poskytuje příležitost pro optimalizaci nákladů.
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
Příležitost upozornění: Příjem upozornění na nevyužité prostředky může vaší organizaci pomoct optimalizovat náklady. Můžete například nastavit upozornění, které se aktivuje, když dotaz zjistí nepoužívaný sklad.
Sklady s největší dostupností za měsíc
Tento dotaz ukazuje, které sklady se během konkrétního měsíce používají nejvíce. Tento dotaz jako příklad používá červenec.
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
Příležitost k upozornění: Možná budete chtít sledovat sklady s vysokým využitím. Můžete například nastavit upozornění, které se aktivuje, když doba provozu skladu překročí určitou prahovou hodnotu.
Sklady, které strávily nejvíce času škálováním během měsíce
Tento dotaz vás informuje o skladech, které během měsíce strávily významný čas ve stavu upscaled. Tento dotaz jako příklad používá červenec.
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
Příležitost k upozornění: Možná budete chtít sledovat sklady s vysokým využitím. Můžete například nastavit upozornění, které se aktivuje, když doba provozu skladu překročí určitou prahovou hodnotu.