Megosztás a következőn keresztül:


Materializált nézetek monitorozása a Databricks SQL-ben

Ez a cikk bemutatja, hogyan monitorozhat és kérdezhet le frissítési adatokat egy materializált nézetről a Databricks SQL-ben.

Egyetlen materializált nézet részleteinek megtekintése

Egyetlen materializált nézet részleteit a Katalóguskezelővel vagy programozott módon tekintheti meg a DESCRIBE EXTENDED művelettel. Az eseménynaplóban a materializált nézet frissítési előzményeinek részleteit is lekérdezheti.

Részletek megtekintése a Katalóguskezelőben

A materializált nézet adatait a Katalóguskezelőben tekintheti meg. A Catalog Explorerben láthatja az utolsó frissítési állapotot és az SQL-ben létrehozott frissítési ütemezéseket. Az SQL-ben létrehozott ütemezésekkel kapcsolatos részletekért lásd: CREATE MATERIALIZED VIEW.

A Katalóguskezelő egy jobb oldali panelen jeleníti meg az egyes materializált nézetek részleteit, beleértve a következőket:

  1. Aktuális frissítési állapot és utolsó futtatási idő. Ha további részleteket szeretne látni a frissítésről, beleértve a futtatás időtartamát, a részletes hibákat, valamint a frissítés típusát (beleértve azt is, hogy a materializált nézet teljes vagy növekményesen frissült-e, és miért), kattintson a Frissítés részleteinek megtekintése gombra.
  2. Frissítés ütemezése. Ha a materializált nézet ütemezési beállítása SQL-en keresztül történik, megjelenik az ütemezés. Az ütemezés frissítéséhez használja a következőt ALTER MATERIALIZED VIEW: .
  3. Címkék. Egyéni címkék hozzáadásához kattintson a Címkék hozzáadása elemre. A címkék nem használhatók automatikusan a költségek attribútumára, de manuálisan is létrehozhat egy lekérdezést, amely egyéni címkéket csatlakoztat a költségekhez. További részletekért tekintse meg az SQL Warehouse attribútumköltségét egyéni címkékkel.

A materializált nézetnek vannak olyan tulajdonságai, amelyek nem érhetők el a Katalóguskezelőben. Ezekhez a tulajdonságokhoz vagy az információk programozott lekéréséhez használhatja a DESCRIBE EXTENDED parancsot.

Részletek megtekintése a DESCRIBE EXTENDED

A materializált nézet részleteit programozott módon tekintheti meg a DESCRIBE EXTENDED parancs használatával. Ez magában foglalja a katalóguskezelőtől kapott adatokon túli részleteket is. Ezek közé tartoznak a következők:

  • A legutóbbi befejezett frissítés állapota.

  • A frissítés ütemezése.

  • A materializált nézet oszlopai.

  • A materializált nézet frissítési típusa (a Katalóguskezelőben nem érhető el).

  • A materializált nézet adatmérete teljes bájtban (a Catalog Explorerben nem érhető el).

  • A materializált nézet tárolási helye (a Katalóguskezelőben nem érhető el).

  • Néhány információ csak akkor szerepel az eredményben, ha engedélyezve van:

    • Oszlopok fürtözése, ha engedélyezve van.
    • A törlési vektorok engedélyezése (csak akkor jelenik meg, ha true).
    • Engedélyezve van-e a sorkövetés (csak akkor jelenik meg, ha true).
-- As table:
DESCRIBE TABLE EXTENDED sales;

-- As a single JSON object:
DESCRIBE TABLE EXTENDED sales AS JSON;

Az eseménynapló programozott lekérdezése

A materializált nézet frissítési előzményeiről vagy a frissítés közbeni részletekről az eseménynaplót programozott módon kérdezheti le.

A folyamat tulajdonosaként létrehozhat egy nézetet , amellyel mások lekérdezhetik a folyamat eseménynaplóját. Az alábbi lekérdezés létrehoz egy nézetet, amellyel mások lekérdezhetik az eseménynaplót. Ez a lekérdezés az TABLE érték függvénnyel kérdezi le a megfelelő eseménynapló-táblát.

CREATE VIEW my_event_log_view AS
  SELECT *
  FROM event_log(TABLE(<catalog_name>.<schema_name>.<mv_name>));

Az eseménynapló nézet lekérdezéséhez használjon az alábbihoz hasonló lekérdezést.

SELECT *
  FROM my_event_log_view
  WHERE event_type = "update_progress"
  ORDER BY timestamp desc;

Ha közvetlenül a folyamat tulajdonosaként szeretné lekérdezni az eseménynaplót, nem kell nézetet létrehoznia. Használhatja az TABLE értékfüggvényt, és közvetlenül lekérdezheti az adatokat, például az alábbi minta lekérdezést.

SELECT *
  FROM event_log(TABLE(<catalog_name>.<schema_name>.<mv_name>))
  WHERE event_type = "update_progress"
  ORDER BY timestamp desc;

Az eseménynaplót használó minta lekérdezések teljes listájáért tekintse meg az egyszerű lekérdezési példákat.

Materializált nézetfuttatások monitorozása

A munkaterületen futó folyamatok figyelhetők a Feladatok és folyamatok lapon, a Lekérdezési előzmények lapon, vagy programozott módon az eseménynapló lekérdezésével.

Az összes materializált nézetfuttatás megtekintése a felhasználói felületen

Ha a Feladatok és folyamatok lapon figyeli a különböző vezénylési feladatok állapotát a munkaterületen, az ott létrehozott összes materializált nézetet és streamelési táblát is nyomon követheti. A Databricks SQL-ben létrehozott összes materializált nézetet egy folyamat támogatja. Az összes materializált nézet és streaming tábla megtekintéséhez, amelyekhez hozzáférhet:

  1. Kattintson a Munkafolyamatok ikonra.Feladatok > Folyamatok gomb a munkaterület bal oldalán.
  2. A Folyamatok váltógombra kattintva szűrheti a nézetet csak folyamatokra.
  3. Kattintson a Folyamat típusa gombra, és válassza az MV/ST lehetőséget, hogy csak a Databricks SQL által létrehozott folyamatokra szűrjön.
  4. Kattintson az Általam elérhető szűrőre, hogy megtekintse az összes olyan futószalagot, amelyhez hozzáférése van.

Megtekintheti a szervezeten belül létrehozott összes materializált nézetet és streaming táblát, beleértve a legutóbbi futások állapotának összefoglaló nézetét is. A folyamat nevére kattintva megnyílik a folyamatfigyelés részleteinek lapja, amely további információkat tartalmaz. A folyamatmonitorozás részleteiről további információt a sikertelen frissítés hibaelhárítása című témakörben talál.

A futtatások megtekintése a lekérdezési előzmények segítségével

Ha jobban ismeri a Lekérdezéselőzmények lapot, akkor az összes korábbi lekérdezést is megtekintheti, ahol legalább CAN VIEW hozzáféréssel rendelkezik a végrehajtó SQL Warehouse-hoz. A lekérdezéselőzmények lapon hozzáférhet a lekérdezési adatokhoz és a lekérdezési profilokhoz, amelyek segítenek azonosítani a rosszul teljesítő lekérdezéseket és szűk keresztmetszeteket a streamelési tábla frissítéseinek futtatásához használt folyamatban. A lekérdezési előzmények és lekérdezési profilok számára elérhető információk típusainak áttekintéséért tekintse meg a lekérdezési előzményeket és a lekérdezési profilt.

Fontos

Ez a funkció nyilvános előzetes verzióban van. A munkaterület rendszergazdái az Előnézetek lapon szabályozhatják a funkcióhoz való hozzáférést. Lásd: Az Azure Databricks előzetes verziójának kezelése.

A materializált nézetekhez kapcsolódó összes állítás megjelenik a lekérdezési előzményekben. Az Utasítás legördülő szűrővel kiválaszthatja bármelyik parancsot, és megvizsgálhatja a kapcsolódó lekérdezéseket. Minden CREATE utasítást egy REFRESH utasítás követ, amely aszinkron módon futtatódik egy feldolgozási sorban. Az REFRESH utasítások általában részletes lekérdezési terveket tartalmaznak, amelyek betekintést nyújtanak a teljesítmény optimalizálásába.

A lekérdezéselőzmények felhasználói felületén található utasítások eléréséhez REFRESH kövesse az alábbi lépéseket:

  1. Kattintson az Előzmények ikonra.Lekérdezési előzmények a bal oldali oldalsávon.
  2. A REFRESH legördülő szűrőn válassza ki a jelölőnégyzetet.
  3. A lekérdezési utasítás nevére kattintva megtekintheti az összesítő adatokat, például a lekérdezés időtartamát és az összesített metrikákat.
  4. Kattintson a Lekérdezésprofil megtekintése elemre a lekérdezésprofil megnyitásához. A lekérdezési profil navigálásával kapcsolatos részletekért lásd : Lekérdezésprofil.
  5. Ha szeretné, a Lekérdezés forrása szakaszban található hivatkozásokkal nyissa meg a kapcsolódó lekérdezést vagy folyamatot.

Lásd a(z) CREATE MATERIALIZED VIEW.

Sikertelen frissítés hibaelhárítása

A feladatok és folyamatok listájának megtekintésével megtalálhatja a materializált nézetek (vagy streamelési táblák) sikertelen frissítéseit. A sikertelen frissítések hibaelhárításához használja a folyamatfigyelés részleteit tartalmazó oldalt vagy az eseménynaplót.

A teljes frissítés hibaelhárításához, ha úgy véli, hogy növekményesnek kell lennie, először ellenőrizze, hogy engedélyezve van-e a sorkövetés bármely forrás Delta-táblához. A növekményes frissítésről további információt a materializált nézet növekményes frissítésének támogatása című témakörben talál.

További részleteket a folyamatmonitorozási oldalról, vagy az eseménynapló programozott lekérdezésével kaphat.

A folyamatfigyelési oldal használata

Több információért a sikertelen materializált nézetekről (vagy streamelési táblázatokról) használja a folyamatfigyelési lapot a hibák elhárítására. Minden materializált nézetet egy csővezeték támogat. A folyamatfigyelési oldal olyan információkat tartalmaz, mint például:

  • Az utolsó futtatás és a futtatási előzmények állapota.
  • Az utolsó futtatási időtartam.
  • Függetlenül attól, hogy a materializált nézet teljesen vagy növekményesen frissült-e. A materializált nézet növekményes frissítésre való lekéréséről további információt a materializált nézet növekményes frissítésének támogatása című témakörben talál.
  • Az eseménynapló részletesebb hibakeresést biztosít. Abban az esetben, ha a materializált nézet frissítése sikertelen volt, vagy más probléma merült fel, kattintson a problémák panelre a naplók részletesebb megtekintéséhez.

A materializált nézet hibaelhárítása:

  1. A munkaterületen kattintson a Munkafolyamatok ikonra.Feladatok > Folyamatok gomb a bal oldali navigációs sávon.
  2. Kattintson a pipeline nevére a listában.
  3. Ha a frissítés futtatása nem sikerült, a felhasználói felület egy hibát (vagy a hibák listáját) jelenít meg az alsó panelen.
  4. Kattintson a gombra a naplók megtekintéséhez , vagy kattintson a problémák panelre a hibák részletesebb megtekintéséhez.
  5. Ekkor megnyílik az eseménynapló felhasználói felülete. Minden hiba tartalmaz egy magas szintű üzenetet és összegzést, valamint egy JSON lapot, amely további részleteket tartalmaz. A Databricks Assistanttel kapcsolatos probléma megoldásához kattintson a Hiba diagnosztizálása gombra.

A folyamatmonitorozási oldalon további részleteket itt talál.

A materializált nézet frissítési előzményeinek lekérdezése

Az eseménynapló hasznos lehet olyan irányítópultok beállításához, amelyek a munkaterület frissítési állapotát vagy időtartamát figyelik, vagy ha a felhasználói felület használatával szemben a programozott monitorozást részesíti előnyben. A Databricks SQL-sel létrehozott materializált nézetek nem támogatják az eseménynapló metaadattárba mentését, így csak a materializált nézet tulajdonosa kérdezheti le közvetlenül az eseménynaplót.

Ha materializált nézetben szeretné megtekinteni a műveletek állapotát REFRESH , beleértve az aktuális és a korábbi frissítéseket, kérdezze le a folyamat eseménynaplóját:

SELECT *
FROM event_log(TABLE(<fully-qualified-table-name>))
WHERE event_type = "update_progress"
ORDER BY timestamp desc;

Cserélje ki <fully-qualified-table-name> a materializált nézet teljes nevével, beleértve a katalógust és a sémát. Ha nem Ön a folyamat tulajdonosa, előfordulhat, hogy először létre kell hoznia egy nézetet az eseménynapló lekérdezéséhez. Lásd az eseménynapló programozott lekérdezését.

A materializált nézethez tartozó frissítés típusának lekérdezése

Egyes lekérdezések növekményesen frissíthetők. Ha növekményes frissítés nem hajtható végre, a rendszer ehelyett teljes frissítést hajt végre.

Egy materializált nézet frissítési típusának megtekintéséhez kérdezze le az eseménynaplót:

SELECT timestamp, message
FROM event_log(TABLE(my_catalog.my_schema.sales))
WHERE event_type = 'planning_information'
ORDER BY timestamp desc;

Mintakimenet ehhez a parancshoz:

    • timestamp
    • üzenet
    • 2025-03-21T22:23:16.497+00:00
    • Flow 'sales' has been planned in :re[LDP] to be executed as ROW_BASED.

Rendelje hozzá a költségeket az SQL Warehouse-hoz egyéni címkék használatával

A rendszer nem fűzi hozzá automatikusan a címkéket a számlázási rekordokhoz, de manuálisan csatlakoztathatja őket a számlázási adatokhoz egy lekérdezésben.

Miután címkéket adott hozzá az egyes materializált nézetekhez (vagy streamelőtáblákhoz) a Catalog Explorerrel, a materializált nézetek költségeit a table_tags és billing rendszertáblákhoz való csatlakozással figyelheti. Ez egy mintalekérdezés a Databricks SQL-sel létrehozott összes materializált nézethez és streamelő táblához tartozó számlázási rekordok lekéréséhez, valamint táblaszintű címkék hozzáfűzéséhez:

SELECT
  u.*,
  tag_info.tags
FROM
  system.billing.usage u
LEFT JOIN (
  SELECT
    t.catalog_name,
    t.schema_name,
    t.table_name,
    collect_list(named_struct('tag_name', t.tag_name, 'tag_value', t.tag_value)) AS tags
  FROM
    main.information_schema.table_tags t
  GROUP BY
    t.catalog_name,
    t.schema_name,
    t.table_name
) tag_info
  ON tag_info.catalog_name = u.usage_metadata.uc_table_catalog
  AND tag_info.schema_name = u.usage_metadata.uc_table_schema
  AND tag_info.table_name = u.usage_metadata.uc_table_name
  WHERE usage_metadata.uc_table_name is not null;

Ugyanezzel az ötlettel összekapcsolhatja az oszlopcímkéket a column_tags táblából.