Ö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.
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
tilltrue
. 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 tillTrigger.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
ochsystem.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.