Warehouse events system table reference
Fontos
Ez a rendszertábla nyilvános előzetes verzióban érhető el. A táblázat eléréséhez engedélyezni kell a sémát a system
katalógusban. További információ: Rendszertábla-sémák engedélyezése.
Ebből a cikkből megtudhatja, hogyan használhatja a raktáresemények rendszertábláját a munkaterületek SQL-raktárainak monitorozására és kezelésére. Ez a tábla minden alkalommal rögzíti a sort, amikor egy raktár elindul, leáll, lefut, és fel- és leskáláz. A cikkben szereplő minta lekérdezésekkel riasztásokkal tájékoztathatja a raktárak változásairól.
Táblázat elérési útja: Ez a rendszertábla a következő helyen system.compute.warehouse_events
található: .
Naplózott raktáresemény-típusok
Ez a rendszertábla a következő típusú eseményeket naplózza:
SCALED_UP
: Új fürt lett hozzáadva a raktárhoz.SCALED_DOWN
: Egy fürt el lett távolítva a raktárból.STOPPING
: A raktár leáll.RUNNING
: A raktár aktívan fut.STARTING
: A raktár indítása folyamatban van.STOPPED
: A raktár teljesen leállt.
Raktáresemények sémája
A warehouse_events
rendszertábla a következő sémát használja:
Oszlop neve | Adattípus | Leírás | Példa |
---|---|---|---|
account_id |
húr | Az Azure Databricks-fiók azonosítója. | 7af234db-66d7-4db3-bbf0-956098224879 |
workspace_id |
húr | Annak a munkaterületnek az azonosítója, ahol a raktár üzembe van helyezve. | 123456789012345 |
warehouse_id |
húr | Annak az SQL Warehouse-nak az azonosítója, amelyhez az esemény kapcsolódik. | 123456789012345 |
event_type |
húr | A raktáresemény típusa. A lehetséges értékek a következők: SCALED_UP , SCALED_DOWN STOPPING , RUNNING , STARTING és STOPPED . |
SCALED_UP |
cluster_count |
egész szám | Az aktívan futó fürtök száma. | 2 |
event_time |
időbélyeg | Az esemény UTC-ben történt időpontjának időbélyege. | 2023-07-20T19:13:09.504Z |
Minta lekérdezések
A következő minta lekérdezések sablonok. Bármilyen értéket használjon a szervezet számára. Riasztásokat is hozzáadhat ezekhez a lekérdezésekhez, hogy naprakész maradjon a raktárak változásaival kapcsolatban. Lásd: Riasztás létrehozása.
A következő minta lekérdezésekkel betekintést nyerhet a raktár viselkedésébe:
- Mely raktárak futnak aktívan és mennyi ideig?
- A vártnál nagyobb skálázású raktárak azonosítása
- Az első alkalommal kezdődő raktárak
- Számlázási díjak vizsgálata
- Mely raktárakat nem használták az elmúlt 30 napban?
- Egy hónap legnagyobb üzemidejű raktárai
- Azokat a raktárakat, amelyek a legtöbb időt töltötték felskálázva egy hónap alatt
Mely raktárak futnak aktívan és mennyi ideig?
Ez a lekérdezés azonosítja, hogy mely raktárak vannak jelenleg aktívak, valamint a futási idejük órákban.
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
)
Riasztási lehetőség: Munkaterület-rendszergazdaként érdemes lehet riasztást kapnia, ha egy raktár a vártnál hosszabb ideig fut. A lekérdezési eredmények használatával például riasztási feltételt állíthat be, amely akkor aktiválódik, ha a futási órák túllépnek egy bizonyos küszöbértéket.
A vártnál nagyobb skálázású raktárak azonosítása
Ez a lekérdezés azonosítja, hogy mely raktárak vannak jelenleg aktívak, valamint a futási idejük órákban.
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
)
Riasztási lehetőség: A riasztás ezzel a feltétellel segíthet az erőforrások és a költségek monitorozásában. Beállíthatja a riasztást arra az időre, amikor a felskálázott órák túllépnek egy bizonyos korlátot.
Az első alkalommal kezdődő raktárak
Ez a lekérdezés az első alkalommal kezdődő új raktárakról tájékoztatja.
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
)
Riasztási lehetőség: Az új raktárak riasztása segíthet a szervezetnek nyomon követni az erőforrások lefoglalását. Beállíthat például egy riasztást, amely minden alkalommal aktiválódik, amikor egy új raktár elindul.
Számlázási díjak vizsgálata
Ha konkrétan szeretné megtudni, hogy egy raktár mit tett a számlázási díjak generálása érdekében, ez a lekérdezés pontosan meg tudja állapítani a raktár fel- vagy leskálázásának, illetve elindításának és leállításának pontos dátumát és időpontját.
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
Mely raktárakat nem használták az elmúlt 30 napban?
Ez a lekérdezés segít azonosítani a fel nem használt erőforrásokat, és lehetővé teszi a költségoptimalizálást.
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
Riasztási lehetőség: A nem használt erőforrásokra vonatkozó riasztás fogadása segíthet a szervezetnek a költségek optimalizálásában. Beállíthat például egy riasztást, amely akkor aktiválódik, amikor a lekérdezés egy nem használt raktárt észlel.
Egy hónap legnagyobb üzemidejű raktárai
Ez a lekérdezés azt mutatja, hogy mely raktárakat használták a legtöbbet egy adott hónapban. Ez a lekérdezés a júliust használja példaként.
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
Riasztási lehetőség: Érdemes lehet nyomon követni a magas kihasználtságú raktárakat. Beállíthat például egy riasztást, amely akkor aktiválódik, ha egy raktár üzemideje túllép egy adott küszöbértéket.
Azokat a raktárakat, amelyek a legtöbb időt töltötték felskálázva egy hónap alatt
Ez a lekérdezés azokról a raktárakról tájékoztatja, amelyek egy hónap alatt jelentős időt töltöttek felskálázott állapotban. Ez a lekérdezés a júliust használja példaként.
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
Riasztási lehetőség: Érdemes lehet nyomon követni a magas kihasználtságú raktárakat. Beállíthat például egy riasztást, amely akkor aktiválódik, ha egy raktár üzemideje túllép egy adott küszöbértéket.