Delen via


Naslaginformatie over systeemtabellen voor warehouse-gebeurtenissen

Belangrijk

Deze functie is beschikbaar als openbare preview.

In dit artikel leert u hoe u de systeemtabel voor warehouse-gebeurtenissen gebruikt om de SQL-warehouses in uw werkruimten te bewaken en te beheren. Deze tabel registreert een rij voor elke keer dat een magazijn wordt gestart, gestopt, uitgevoerd en omhoog en omlaag wordt geschaald. U kunt de voorbeeldquery's in dit artikel gebruiken met waarschuwingen om u op de hoogte te houden van wijzigingen in uw magazijnen.

De systeemtabel voor magazijnevenementen bevindt zich op system.compute.warehouse_events.

Geregistreerde magazijngebeurtenistypen

In deze systeemtabel worden de volgende typen gebeurtenissen geregistreerd:

  • SCALED_UP: Er is een nieuw cluster toegevoegd aan het magazijn.
  • SCALED_DOWN: Er is een cluster verwijderd uit het magazijn.
  • STOPPING: Het magazijn wordt gestopt.
  • RUNNING: Het magazijn wordt actief uitgevoerd.
  • STARTING: Het magazijn wordt gestart.
  • STOPPED: Het magazijn is volledig gestopt.

Schema voor magazijnevenementen

De warehouse_events systeemtabel maakt gebruik van het volgende schema:

Kolomnaam Gegevenstype Beschrijving Voorbeeld
account_id tekenreeks De id van het Azure Databricks-account. 7af234db-66d7-4db3-bbf0-956098224879
workspace_id tekenreeks De id van de werkruimte waar het magazijn is geïmplementeerd. 123456789012345
warehouse_id tekenreeks De id van SQL Warehouse waaraan de gebeurtenis is gerelateerd. 123456789012345
event_type tekenreeks Het type magazijnevenement. Mogelijke waarden zijn SCALED_UP, SCALED_DOWN, STOPPING, , RUNNING, en STOPPEDSTARTING. SCALED_UP
cluster_count geheel getal Het aantal clusters dat actief wordt uitgevoerd. 2
event_time timestamp Tijdstempel van toen de gebeurtenis plaatsvond. 2023-07-20T19:13:09.504Z

Voorbeeldquery's

De volgende voorbeeldquery's zijn sjablonen. Sluit alle waarden aan die zinvol zijn voor uw organisatie. U kunt ook waarschuwingen toevoegen aan deze query's om u te helpen op de hoogte te blijven van wijzigingen in uw magazijnen. Zie Een waarschuwing maken.

Gebruik de volgende voorbeeldquery's om inzicht te krijgen in het magazijngedrag:

Welke magazijnen worden actief uitgevoerd en hoe lang?

Deze query geeft aan welke magazijnen momenteel actief zijn, samen met de actieve tijd in uren.

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
)

Waarschuwingskans: als werkruimtebeheerder wilt u mogelijk worden gewaarschuwd als een magazijn langer wordt uitgevoerd dan verwacht. U kunt bijvoorbeeld de queryresultaten gebruiken om een waarschuwingsvoorwaarde in te stellen die moet worden geactiveerd wanneer de actieve uren een bepaalde drempelwaarde overschrijden.

Magazijnen identificeren die langer zijn opgeschaald dan verwacht

Deze query geeft aan welke magazijnen momenteel actief zijn, samen met de actieve tijd in uren.

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
   )

Waarschuwingskans: waarschuwingen op deze voorwaarde kunnen u helpen bij het bewaken van resources en kosten. U kunt een waarschuwing instellen voor wanneer de opgeschaalde uren een bepaalde limiet overschrijden.

Magazijnen die voor het eerst beginnen

Deze query informeert u over nieuwe magazijnen die voor het eerst worden gestart.

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
   )

Waarschuwingskans: waarschuwingen voor nieuwe magazijnen kunnen uw organisatie helpen bij het bijhouden van resourcetoewijzing. U kunt bijvoorbeeld een waarschuwing instellen die wordt geactiveerd telkens wanneer een nieuw magazijn wordt gestart.

Factureringskosten onderzoeken

Als u specifiek wilt weten wat een magazijn deed om factureringskosten te genereren, kunt u met deze query de exacte datums en tijden zien waarop het magazijn omhoog of omlaag is geschaald, of is gestart en gestopt.

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

Welke magazijnen zijn de afgelopen 30 dagen niet gebruikt?

Deze query helpt u bij het identificeren van ongebruikte resources en biedt een kans voor kostenoptimalisatie.

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

Waarschuwingskans: het ontvangen van een waarschuwing voor ongebruikte resources kan uw organisatie helpen de kosten te optimaliseren. U kunt bijvoorbeeld een waarschuwing instellen die wordt geactiveerd wanneer de query een ongebruikt magazijn detecteert.

Magazijnen met de meeste uptime in een maand

Deze query laat zien welke magazijnen het meest zijn gebruikt gedurende een specifieke maand. Deze query maakt gebruik van juli als voorbeeld.

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

Waarschuwingskans: Mogelijk wilt u magazijnen met hoog gebruik bijhouden. U kunt bijvoorbeeld een waarschuwing instellen die wordt geactiveerd wanneer de uptime-uren voor een magazijn een specifieke drempelwaarde overschrijden.

Magazijnen die de meeste tijd hebben besteed tijdens een maand

Deze query informeert u over magazijnen die gedurende een maand aanzienlijke tijd hebben besteed aan de opgeschaalde staat. Deze query maakt gebruik van juli als voorbeeld.

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 limit 0;

Waarschuwingskans: Mogelijk wilt u magazijnen met hoog gebruik bijhouden. U kunt bijvoorbeeld een waarschuwing instellen die wordt geactiveerd wanneer de uptime-uren voor een magazijn een specifieke drempelwaarde overschrijden.