Övervaka användning med systemtabeller

Den här artikeln beskriver begreppet systemtabeller i Azure Databricks och markerar resurser som du kan använda för att få ut mesta möjliga av dina systemtabelldata.

Vad är systemtabeller?

Systemtabeller är ett Azure Databricks-värdbaserat analyslager för ditt kontos driftdata som finns i system katalogen. Systemtabeller kan användas för historisk observerbarhet i hela ditt konto.

Kommentar

Dokumentation om system.information_schemafinns i Informationsschema.

Krav

  • För att få åtkomst till systemtabeller måste arbetsytan vara aktiverad för Unity Catalog. Mer information finns i Aktivera systemtabellscheman.

  • Systemtabeller är inte tillgängliga i följande regioner:

    • Azure Kina-regioner
    • Azure Government-regioner
    • Västra Indien
    • Schweiz, västra

Vilka systemtabeller är tillgängliga?

För närvarande är Azure Databricks värd för följande systemtabeller:

Register beskrivning Location Stöder direktuppspelning Fri kvarhållningsperiod Innehåller globala eller regionala data
Granskningsloggar (offentlig förhandsversion) Innehåller poster för alla granskningshändelser från arbetsytor i din region. En lista över tillgängliga granskningshändelser finns i Referens för diagnostiklogg. system.access.audit Ja 365 dagar Regionalt för händelser på arbetsytenivå. Global för händelser på kontonivå.
Tabell härkomst (offentlig förhandsversion) Innehåller en post för varje läs- eller skrivhändelse i en Unity Catalog-tabell eller sökväg. system.access.table_lineage Ja 365 dagar Regional
Kolumn härkomst (offentlig förhandsversion) Innehåller en post för varje läs- eller skrivhändelse i en Unity Catalog-kolumn (men inkluderar inte händelser som inte har någon källa). system.access.column_lineage Ja 365 dagar Regional
Fakturerbar användning Innehåller poster för all fakturerbar användning i ditt konto. Varje användningspost är en aggregering per timme av en resurss fakturerbara användning. system.billing.usage Ja 365 dagar Global
Prissättning En historisk logg över SKU-priser. En post läggs till varje gång ett SKU-pris ändras. system.billing.list_prices Nej Obegränsat Global
Kluster (offentlig förhandsversion) En långsamt föränderlig dimensionstabell som innehåller hela historiken för beräkningskonfigurationer över tid för alla kluster. system.compute.clusters Ja Ej tillämpligt Regional
Tidslinje för nod (offentlig förhandsversion) Samlar in användningsstatistiken för dina beräkningsresurser för alla syften och jobb. system.compute.node_timeline Ja 30 dagar Regional
Nodtyper (offentlig förhandsversion) Samlar in de tillgängliga nodtyperna med sin grundläggande maskinvaruinformation. system.compute.node_types Nej Ej tillämpligt Regional
SQL Warehouse-händelser (offentlig förhandsversion) Samlar in händelser som rör SQL-lager. Till exempel starta, stoppa, köra, skala upp och ned. system.compute.warehouse_events Ja 365 dagar Regional
Jobb (offentlig förhandsversion) Spårar alla jobb som skapats i kontot. system.lakeflow.jobs Ja 365 dagar Regional
Jobbaktiviteter (offentlig förhandsversion) Spårar alla jobbaktiviteter som körs i kontot. system.lakeflow.job_tasks Ja 365 dagar Regional
Tidslinje för jobbkörning (offentlig förhandsversion) Spårar start- och sluttiderna för jobbkörningar. system.lakeflow.

job_run_timeline
Ja 365 dagar Regional
Tidslinje för jobbaktivitet (offentlig förhandsversion) Spårar start- och sluttider och beräkningsresurser som används för jobbaktivitetskörningar. system.lakeflow.

job_task_run_timeline
Ja 365 dagar Regional
Marketplace-tratthändelser (offentlig förhandsversion) Innehåller konsumentvisnings- och trattdata för dina listor. system.marketplace.listing_

funnel_events
Ja 365 dagar Regional
Åtkomst till Marketplace-lista (offentlig förhandsversion) Innehåller konsumentinformation för slutförda begärandedata eller hämta datahändelser i dina listor. system.marketplace.listing_

access_events
Ja 365 dagar Regional
Förutsägelseoptimering (offentlig förhandsversion) Spårar drifthistoriken för funktionen för förutsägande optimering. system.storage.predictive_

optimization_operations_history
Nej 180 dagar Regional
Databricks Assistant-händelser (offentlig förhandsversion) Spårar användarmeddelanden som skickas till Databricks Assistant. system.access.assistant_events Nej 365 dagar Regional
Frågehistorik (offentlig förhandsversion) Samlar in poster för alla frågor som körs på SQL-lager. system.query.history Ja 90 dagar Regional
Rena rumshändelser (offentlig förhandsversion) Fångar händelser som rör rena rum. system.access.clean_room_events Ja 365 dagar Regional
Modell som betjänar slutpunktsanvändning (offentlig förhandsversion) Samlar in tokenantal för varje begäran till en modell som betjänar slutpunkten och dess svar. system.serving.endpoint_usage Ja 90 dagar Regional
Modell som betjänar slutpunktsdata (offentlig förhandsversion) En långsamt föränderlig dimensionstabell som lagrar metadata för varje hanterad extern modell i en modell som betjänar slutpunkten. system.serving.served_entities Ja 365 dagar Regional

Fakturerbara användnings- och pristabeller är kostnadsfria att använda. Tabeller i offentlig förhandsversion är också kostnadsfria att använda under förhandsversionen, men kan medföra en avgift i framtiden.

Kommentar

Du kan se andra systemtabeller i ditt konto förutom de som anges ovan. Dessa tabeller är för närvarande i privat förhandsversion och är tomma som standard. Om du är intresserad av att använda någon av dessa tabeller kontaktar du ditt Databricks-kontoteam.

Aktivera systemtabellscheman

Eftersom systemtabeller styrs av Unity Catalog måste du ha minst en Unity Catalog-aktiverad arbetsyta i ditt konto för att aktivera och komma åt systemtabeller. Systemtabeller innehåller data från alla arbetsytor i ditt konto, men de kan bara nås från en Unity Catalog-aktiverad arbetsyta.

Systemtabeller aktiveras på schemanivå. Om du aktiverar ett systemschema aktiverar du alla tabeller i schemat. När nya scheman släpps måste kontoadministratören aktivera schemat manuellt.

Systemtabeller måste aktiveras av en kontoadministratör. Du kan aktivera systemtabeller med hjälp av SystemSchemas-API:et.

Kommentar

Schemat billing är aktiverat som standard. Andra scheman måste aktiveras manuellt.

Lista tillgängliga systemscheman

Använd följande curl-kommando för att visa tillgängliga systemscheman:

curl -v -X GET -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas"

Följande är ett exempel på utdata från GET kommandot:

{"schemas":[{"schema":"access","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"billing","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"information_schema","state":"<AVAILABLE OR EnableCompleted>"}]}

state: AVAILABLE: Systemschemat är tillgängligt men har ännu inte aktiverats.

state: EnableCompleted: Du har aktiverat systemschemat och det visas i Katalogutforskaren.

Aktivera ett systemschema

Använd följande curl-kommando för att aktivera ett systemschema:

curl -v -X PUT -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Om systemschemat har aktiverats returneras resultatkoden 200 .

Om du försöker återaktivera ett systemschema returneras följande: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists".

Inaktivera ett systemschema

Använd följande curl-kommando för att inaktivera ett systemschema:

curl -v -X DELETE -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Bevilja åtkomst till systemtabeller

Åtkomst till systemtabeller styrs av Unity Catalog. Ingen användare har åtkomst till dessa systemscheman som standard. För att bevilja åtkomst måste en användare som är både metaarkivadministratör och kontoadministratör bevilja USE och SELECT behörigheter för systemschemana. Se Hantera privilegier i Unity Catalog.

Systemtabeller är skrivskyddade och kan inte ändras.

Kommentar

Om ditt konto skapades efter den 9 november 2023 kanske du inte har någon metaarkivadministratör som standard. Mer information finns i Konfigurera och hantera Unity Catalog.

Innehåller systemtabeller data för alla arbetsytor i ditt konto?

Systemtabeller innehåller driftdata för alla arbetsytor i ditt konto som distribueras i samma molnregion. Tabeller för faktureringssystem innehåller kontoomfattande data.

Även om systemtabeller bara kan nås via en Unity Catalog-arbetsyta innehåller tabellerna även driftdata för arbetsytor som inte är Unity-kataloger i ditt konto.

Var lagras systemtabelldata?

Ditt kontos systemtabelldata lagras i ett Azure Databricks-värdbaserat lagringskonto som finns i samma region som metaarkivet. Data delas på ett säkert sätt med dig med deltadelning.

Varje tabell har en fri datakvarhållningsperiod. Om du vill ha information om hur du förlänger kvarhållningsperioden kontaktar du ditt Azure Databricks-kontoteam.

Var finns systemtabeller i Catalog Explorer?

Systemtabellerna i ditt konto finns i en katalog med namnet system, som ingår i alla Unity Catalog-metaarkiv. system I katalogen visas scheman som access och billing som innehåller systemtabellerna.

Överväganden för systemtabeller för direktuppspelning

Azure Databricks använder deltadelning för att dela systemtabelldata med kunder. Tänk på följande när du strömmar med deltadelning:

  • Om du använder direktuppspelning med systemtabeller anger du alternativet skipChangeCommits till true. Detta säkerställer att strömningsjobbet inte avbryts från borttagningar i systemtabellerna. Se Ignorera uppdateringar och borttagningar.
  • Trigger.AvailableNow stöds inte med deltadelningsströmning. Den konverteras till Trigger.Once.

Om du använder en utlösare i strömningsjobbet och upptäcker att den inte kommer ikapp den senaste systemtabellversionen rekommenderar Databricks att du ökar den schemalagda frekvensen för jobbet.

Läsa inkrementella ändringar från systemtabeller för direktuppspelning

spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")

Kända problem

  • För närvarande finns inget stöd för realtidsövervakning. Data uppdateras under dagen. Om du inte ser någon logg för en händelse nyligen kan du gå tillbaka senare.

  • Om du vill aktivera systemtabeller kan du behöva bevilja nätverksåtkomst till systemtabellerna Blob Storage-slutpunkt. Information om hur du visar en lista över lagringsslutpunkten för alla regioners systemtabeller finns i IP-adresser för lagringsslutpunkt.

  • Systemschemana system.operational_data och system.lineage är inaktuella och innehåller tomma tabeller.

  • Systemtabellschemat __internal_logging används för att stödja nyttolastloggning med hjälp av slutsatsdragningstabeller. Det här schemat är synligt för kontoadministratörer, men det kan inte aktiveras och bör inte användas för kundarbetsflöden.