Övervaka kontoaktivitet med system tables
I den här artikeln beskrivs begreppet system tables i Azure Databricks och framhäver resurser som du kan använda för att get ut mesta möjliga av systemet tables data.
Vad är system tables?
System tables är ett analytiskt lager för ditt kontos driftdata, värd på Azure Databricks, som finns i system
catalog. System tables kan användas för historisk observerbarhet i hela ditt konto.
Kommentar
Dokumentation om system.information_schema
finns i Information schema.
Krav
Om du vill komma åt system tablesmåste arbetsytan vara aktiverad för Unity Catalog. Mer information finns i Aktivera systemscheman table.
System tables är inte tillgängliga i följande regioner:
- Azure Kina-regioner
- Azure Government-regioner
- Västra Indien
- Schweiz, västra
Vilket system tables är tillgängligt?
För närvarande är Azure Databricks värd för följande system tables:
Table | 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 list av tillgängliga granskningshändelser finns i diagnostikloggreferens. | system.access.audit |
Ja | 365 dagar | Regionalt för händelser på arbetsytenivå. Global för händelser på kontonivå. |
Table härstamning (offentlig förhandsversion) | Innehåller en post för varje läs- eller skrivhändelse på en Unity-Catalogtable eller sökväg. | system.access.table_lineage |
Ja | 365 dagar | Regional |
Column härstamning (offentlig förhandsversion) | Innehåller en post för varje läs- eller skrivhändelse på Unity Catalogcolumn (men inkluderar inte händelser utan 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. | 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 dimension table som innehåller hela historiken för beräkningskonfigurationer över tid för alla kluster. | system.compute.clusters |
Ja | 365 dagar | 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-lager (offentlig förhandsversion) | Innehåller den fullständiga historiken för konfigurationer över tid för alla SQL-lager. | system.compute.warehouses |
Ja | 365 dagar | 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 önskade data eller get data händelser på 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 loggar för alla frågor som körs på SQL-lager och serverlös beräkning för anteckningsböcker och jobb. | system.query.history |
Nej | 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. Om du vill samla in slutpunktsanvändningen i den här tablemåste du aktivera användningsspårning på serverdelsslutpunkten. |
system.serving.endpoint_usage . |
Ja | 90 dagar | Regional |
Modell som betjänar slutpunktsdata (offentlig förhandsversion) | En långsamt föränderlig dimension table som lagrar metadata för varje hanterad grundmodell i en modell som betjänar slutpunkten. | system.serving.served_entities |
Ja | 365 dagar | Regional |
Händelser för nätverksåtkomst (offentlig förhandsversion) | En table som registrerar en händelse för varje gång internetåtkomst nekas från ditt konto. | system.access.outbound_network |
Ja | 365 dagar | Regional |
Fakturerbar användning och prissättning tables är kostnadsfria att använda. Tables 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 system tables i ditt konto förutom de som anges ovan. Dessa tables ä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 tables, vänligen kontakta ditt Databricks-kontoteam.
Aktivera system-table-scheman
Eftersom system tables styrs av Unity Catalogmåste du ha minst en Unity-Catalog-aktiverad arbetsyta i ditt konto för att aktivera och komma åt system tables. System tables inkluderar data från alla arbetsytor på ditt konto, men de kan bara nås från en Unity Catalog-aktiverad arbetsyta.
System tables är aktiverat på schema-nivån. Om du aktiverar ett system schemaaktiverar du alla tables inom den schema. När nya scheman släpps måste kontoadministratören aktivera schemamanuellt.
System tables måste aktiveras av en kontoadministratör. Du kan aktivera system tables med hjälp av system-schemas
-kommandon i Databricks CLI- eller med hjälp av SystemSchemas API.
Kommentar
billing
schema är aktiverat som standard. Andra scheman måste aktiveras manuellt.
List tillgängliga systemscheman
Använd följande curl-kommando för att list 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
: Systemet schema är tillgängligt men har ännu inte aktiverats.
state: EnableCompleted
: Du har aktiverat systemet schema och det visas i Catalog Explorer.
Aktivera ett system schema
Använd följande curl-kommando för att aktivera ett system schema:
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 systemet schema har aktiverats returneras resultatkoden 200
.
Om du försöker återaktivera ett system schemareturneras följande: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists"
.
Inaktivera ett system schema
Använd följande curl-kommando för att inaktivera ett system schema:
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>"
Grant åtkomst till system tables
Åtkomst till system tables styrs av Unity Catalog. Ingen användare har åtkomst till dessa systemscheman som standard. För att få åtkomst till grant måste en användare som både är metaarkivadministratör och kontoadministratör ha grantUSE
och SELECT
behörigheter för systemscheman. Se Hantera privilegier i Unity Catalog.
System tables ä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. För mer information, se Set installera och hantera Unity Catalog.
Innehåller system tables data för alla arbetsytor i ditt konto?
System tables innehåller driftdata för alla arbetsytor i ditt konto som distribueras i samma molnregion. Faktureringssystemet tables innehåller kontoomfattande data.
Även om system tables endast kan nås via en Unity-Catalog-arbetsyta, inkluderar tables också driftdata för icke-Unity-Catalog-arbetsytor i ditt konto.
Where lagras systemdata table?
Ditt kontos system table-data lagras i ett lagringskonto som hostas av Azure Databricks och är beläget i samma region som din metabutik. Data delas på ett säkert sätt med dig med deltadelning.
Varje table har en fri datakvarhållningsperiod. Om du vill ha information om hur du förlänger kvarhållningsperioden kontaktar du ditt Azure Databricks-kontoteam.
Where finns system tables i Catalog Explorer?
Systemet tables i ditt konto finns i en catalog som heter system
, som ingår i varje Unity-Catalog metaarkiv. I system
catalog visas scheman som access
och billing
som innehåller systemet tables.
Överväganden för streaming system tables
Azure Databricks använder Delta Sharing för att dela data för system table med kunder. Tänk på följande när du strömmar med deltadelning:
- Om du använder strömning med system tables, set, använd
skipChangeCommits
-alternativet förtrue
. Detta säkerställer att strömningsjobbet inte avbryts på grund av borttagningar i systemet tables. 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 table versionen rekommenderar Databricks att du ökar den schemalagda frekvensen för jobbet.
Läs inkrementella ändringar från strömningssystemet tables
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.
__internal_logging
system tableschema används för att stödja nyttolastloggning med hjälp av AI Gateway-aktiverad slutsatsdragning tables för externa modeller och etablerade dataflödesarbetsbelastningar. Den här schema är synlig för kontoadministratörer, men den kan inte aktiveras och bör inte användas för kundarbetsflöden.Om du vill aktivera system tableskan du behöva grant nätverksåtkomst till systemet tables Blob Storage-slutpunkt. För att visa en list av lagringsslutpunkten för varje regions system tables, se Lagringsslutpunkternas IP-adresser.
Systemscheman
system.operational_data
ochsystem.lineage
är inaktuella och innehåller tomma tables.