Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du övervakar och frågar efter uppdateringsdata om en materialiserad vy i Databricks SQL.
Visa detaljer om en enda materialiserad vy
Du kan visa information om en enda materialiserad vy med hjälp av Katalogutforskaren, eller programmatiskt, med åtgärden DESCRIBE EXTENDED . Du kan också söka i händelseloggen för att få detaljer om aktualiseringshistoriken för en materialiserad vy.
Visa information i Katalogutforskaren
Du kan komma åt information om din materialiserade vy genom att visa den i Katalogutforskaren. I Katalogutforskaren kan du se den senaste uppdateringsstatusen och eventuella uppdateringsscheman som skapats i SQL. Mer information om scheman som skapats i SQL finns CREATE MATERIALIZED VIEWi .
Katalogutforskaren visar information för varje materialiserad vy i en panel på höger sida, inklusive:
- Aktuell uppdateringsstatus och senaste körningstid. Om du vill se mer information om uppdateringen, inklusive körningens varaktighet, eventuella detaljerade fel samt uppdateringstypen (inklusive om den materialiserade vyn har uppdaterats helt eller stegvis och varför), klickar du på Se uppdateringsinformation.
- Uppdateringsschema. Om den materialiserade vyn har en schemauppsättning via SQL visas schemat. Om du vill uppdatera schemat använder du ALTER MATERIALIZED VIEW.
- Taggar. Om du vill lägga till anpassade taggar klickar du på Lägg till taggar. Taggar används inte automatiskt för att tillskriva kostnader, men du kan skapa en fråga manuellt för att ansluta anpassade taggar till dina kostnader. Mer information finns i Attributkostnader till SQL-lagret med anpassade taggar.
Det finns egenskaper för den materialiserade vyn som inte är tillgängliga i Katalogutforskaren. För dessa egenskaper, eller för att hämta informationen programmatiskt, kan du använda DESCRIBE EXTENDED kommandot .
Visa information med DESCRIBE EXTENDED
Du kan visa information om en materialiserad vy programmatiskt med hjälp DESCRIBE EXTENDED av kommandot . Detta inkluderar information utöver vad du får från Katalogutforskaren. De omfattar:
Status för den senaste slutförda uppdateringen.
Förnyelseschema.
Kolumnerna i den materialiserade vy.
Uppdateringstypen för den materialiserade vyn (inte tillgänglig i Katalogutforskaren).
Datastorleken för den materialiserade vyn, totalt antal byte (inte tillgängligt i Katalogutforskaren).
Lagringsplatsen för den materialiserade vyn (inte tillgänglig i Katalogutforskaren).
Viss information ingår endast i resultatet när det är aktiverat:
- Klustringskolumner, om det är aktiverat.
- Om borttagningsvektorer är aktiverade (visas endast när
true). - Om radspårning är aktiverat (visas endast när
true).
-- As table:
DESCRIBE TABLE EXTENDED sales;
-- As a single JSON object:
DESCRIBE TABLE EXTENDED sales AS JSON;
Fråga händelseloggen programmatiskt
Om du vill få information om uppdateringshistoriken för en materialiserad vy, eller informationen när en uppdatering sker, kan du fråga händelseloggen programmatiskt.
Som pipelineägare kan du skapa en vy så att andra kan köra frågor mot händelseloggen för din pipeline. Följande fråga skapar en vy som andra kan använda för att köra frågor mot händelseloggen. Den här frågan använder TABLE värdefunktionen för att fråga rätt händelseloggtabell.
CREATE VIEW my_event_log_view AS
SELECT *
FROM event_log(TABLE(<catalog_name>.<schema_name>.<mv_name>));
Om du vill köra frågor mot händelseloggen använder du en fråga av följande typ.
SELECT *
FROM my_event_log_view
WHERE event_type = "update_progress"
ORDER BY timestamp desc;
Om du vill fråga händelseloggen direkt som pipelineägare behöver du inte skapa en vy. Du kan använda TABLE värdefunktionen och köra frågor mot data direkt, till exempel följande exempelfråga.
SELECT *
FROM event_log(TABLE(<catalog_name>.<schema_name>.<mv_name>))
WHERE event_type = "update_progress"
ORDER BY timestamp desc;
En fullständig lista över exempelfrågor med hjälp av händelseloggen finns i Grundläggande frågeexempel.
Övervaka materialiserade vykörningar
Du kan övervaka pipelinekörningar på din arbetsyta med hjälp av sidan Jobb och pipelines , sidan Frågehistorik eller programmatiskt genom att köra frågor mot händelseloggen.
Visa alla materialiserad vyprocesser i gränssnittet
Om du använder sidan Jobb och pipelines för att övervaka statusen för olika orkestreringsjobb inom arbetsytan kan du även spåra alla materialiserade vyer och strömmande tabeller som skapats inom arbetsytan. Varje materialiserad vy som skapas i Databricks SQL har en pipeline som stöder den. Om du vill se alla materialiserade vyer och strömmande tabeller som du har åtkomst till:
- Klicka på
Jobb och Pipelines-knappen till vänster på arbetsytan.
- Klicka på växlingsknappen Pipelines för att filtrera vyn till endast pipelines.
- Klicka på knappen Pipelinetyp och välj MV/ST för att filtrera till endast pipelines som skapats av Databricks SQL.
- Klicka på filtret Tillgänglig av mig för att visa alla pipelines som du har åtkomst till.
Du kommer att kunna se alla materialiserade vyer och strömmande tabeller som skapats i organisationen, inklusive en sammanfattningsvy över de senaste körningsstatusarna. Om du klickar på namnet på en pipeline öppnas informationssidan för pipelineövervakning för att få mer information. Mer information om informationssidan för pipelineövervakning finns i Felsöka en misslyckad uppdatering.
Visa körningar med hjälp av frågehistorik
Om du är mer bekant med fliken Frågehistorik kan du också använda den för att visa alla tidigare körningar av alla frågor där du har minst CAN VIEW åtkomst till sql-informationslagret som körs. Du kan använda frågehistorik-sidan för att få åtkomst till detaljer om frågor och frågeprofiler som kan hjälpa dig att identifiera frågor som fungerar dåligt och flaskhalsar i Lakeflow-deklarativa pipeline-flöden som används för att köra streamingtabelluppdateringar. En översikt över vilken typ av information som är tillgänglig för frågehistorik och frågeprofiler finns i Frågehistorik och Frågeprofil.
Viktigt!
Den här funktionen finns som allmänt tillgänglig förhandsversion. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.
Alla uttryck som rör materialiserade vyer visas i frågehistoriken. Du kan använda listrutan Statement för att välja valfritt kommando och granska relaterade frågor. Alla CREATE instruktioner följs av en REFRESH instruktion som körs asynkront på en pipeline. Instruktionerna REFRESH innehåller vanligtvis detaljerade frågeplaner som ger insikter om hur du optimerar prestanda.
Använd följande steg för att komma åt REFRESH instruktioner i användargränssnittet för frågehistorik:
- Klicka på
Frågehistorik i det vänstra sidofältet.
- Markera kryssrutan REFRESH från filterlistrutan Statement.
- Klicka på namnet på frågeuttrycket för att visa sammanfattningsinformation som frågans varaktighet och aggregerade mått.
- Klicka på Se frågeprofil för att öppna frågeprofilen. Mer information om hur du navigerar i frågeprofilen finns i Frågeprofil.
- Du kan också använda länkarna i avsnittet Frågekälla för att öppna den relaterade frågan eller pipelinen.
Se även CREATE MATERIALIZED VIEW.
Felsöka en misslyckad uppdatering
Du hittar misslyckade uppdateringar för materialiserade vyer (eller strömmande tabeller) genom att gå igenom
Om du vill felsöka en uppdatering som är full när du anser att den bör vara inkrementell kontrollerar du först att radspårning har aktiverats för alla deltatabeller i källan. Mer information om inkrementell uppdatering finns i Support for materialized view incremental refresh (Stöd för inkrementell uppdatering av materialiserad vy).
Du kan få ytterligare information från övervakningssidan för pipelinen eller genom att köra frågor mot händelseloggen programmatiskt.
Använda sidan för pipelineövervakning
Om du vill ha mer information om en materialiserad vy (eller en strömningstabell) som har misslyckats kan du använda pipelineövervakningssidan för att felsöka problem. Varje materialiserad vy har en pipeline som stöder den. Sidan för pipelineövervakning innehåller information, till exempel:
- Status för den senaste körningen och körningshistoriken.
- Varaktigheten för den senaste körningen.
- Om den materialiserade vyn har uppdaterats helt eller inkrementellt. Mer information om hur du får den materialiserade vyn att uppdateras inkrementellt, se Support for materialized view incremental refresh (Stöd för inkrementell uppdatering av materialiserad vy).
- Händelseloggen för mer detaljerad felsökning. Om den materialiserade vyn inte kunde uppdateras eller hade andra problem klickar du på problempanelen för att visa loggarna mer detaljerat.
Så här felsöker du den materialiserade vyn:
- Klicka på
på arbetsytan.Jobb och pipelines-knapp på vänster navigeringsfält.
- Klicka på namnet på din pipeline i listan.
- Om uppdateringen inte kunde köras visar användargränssnittet ett fel (eller en lista över fel) i den nedre panelen.
- Klicka antingen på knappen för att visa loggar eller klicka på problempanelen för att visa felen mer detaljerat.
- Då öppnas användargränssnittet för händelseloggen. Varje fel har ett meddelande och en sammanfattning på hög nivå samt en JSON-flik med mer information. Om du vill åtgärda ett problem med Databricks Assistant klickar du på Diagnostisera fel.
Mer information om pipelineövervakningssidan finns här.
Förfråga uppdateringshistoriken för en materialiserad vy
Händelseloggen kan vara användbar för att konfigurera instrumentpaneler för att övervaka uppdateringsstatus eller varaktighet på arbetsytan, eller om du föredrar programmatisk övervakning framför användning av användargränssnittet. Materialiserade vyer som skapats med Databricks SQL har inte stöd för att spara händelseloggen i ett metaarkiv, så endast ägaren av den materialiserade vyn kan fråga händelseloggen direkt.
För att visa status för REFRESH åtgärder på en materialiserad vy, inklusive aktuella och tidigare uppdateringar, fråga händelseloggen "Deklarativa pipelines för Lakeflow":
SELECT *
FROM event_log(TABLE(<fully-qualified-table-name>))
WHERE event_type = "update_progress"
ORDER BY timestamp desc;
Ersätt <fully-qualified-table-name> med det fullständigt kvalificerade namnet på den materialiserade vyn, inklusive katalogen och schemat. Om du inte är pipelineägare kan du först behöva skapa en vy för att köra frågor mot händelseloggen. Se Köra frågor mot händelseloggen programmatiskt.
Fråga efter vilken typ av uppdatering som inträffade för en materialiserad vy
Vissa frågor kan uppdateras stegvis. Om det inte går att utföra en inkrementell uppdatering utförs en fullständig uppdatering i stället.
Om du vill se uppdateringstypen för en materialiserad vy kan du kontrollera händelseloggen.
SELECT timestamp, message
FROM event_log(TABLE(my_catalog.my_schema.sales))
WHERE event_type = 'planning_information'
ORDER BY timestamp desc;
Exempelutdata för det här kommandot:
-
- tidsstämpel
- meddelande
-
2025-03-21T22:23:16.497+00:00Flow 'sales' has been planned in :re[LDP] to be executed as ROW_BASED.
Attributkostnader till SQL-informationslagret med anpassade taggar
Taggar läggs inte automatiskt till i faktureringsposter, men du kan manuellt koppla dem till din faktureringsinformation i en fråga.
När du har lagt till taggar i varje materialiserad vy (eller strömningstabell) med Catalog Explorer kan du övervaka kostnaderna för materialiserade vyer genom att ansluta till systemtabellerna table_tags och billing . Det här är en exempelfråga för att hämta faktureringsposter för alla materialiserade vyer och strömmande tabeller som skapats med Databricks SQL och lägga till taggar på tabellnivå:
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;
Du kan använda samma idé för att koppla kolumntaggar från column_tags tabellen i stället.