Gebruik bewaken met systeemtabellen
In dit artikel wordt het concept van systeemtabellen in Azure Databricks uitgelegd en worden resources gemarkeerd die u kunt gebruiken om optimaal gebruik te maken van uw systeemtabellen.
Wat zijn systeemtabellen?
Systeemtabellen zijn een door Azure Databricks gehoste analytische opslag van de operationele gegevens van uw account die in de system
catalogus zijn gevonden. Systeemtabellen kunnen worden gebruikt voor historische waarneembaarheid in uw account.
Notitie
Zie Informatieschema voor documentatie system.information_schema
over.
Vereisten
Voor toegang tot systeemtabellen moet uw werkruimte zijn ingeschakeld voor Unity Catalog. Zie Systeemtabelschema's inschakelen voor meer informatie.
Systeemtabellen zijn niet beschikbaar in de volgende regio's:
- Regio's van Azure China
- Azure Government-regio's
- India - west
- Zwitserland - west
Welke systeemtabellen zijn beschikbaar?
Momenteel host Azure Databricks de volgende systeemtabellen:
Table | Beschrijving | Locatie | Ondersteunt streaming | Gratis bewaarperiode | Bevat globale of regionale gegevens |
---|---|---|---|---|---|
Auditlogboeken (openbare preview) | Bevat records voor alle controlegebeurtenissen uit werkruimten in uw regio. Zie de naslaginformatie over diagnostisch logboeken voor een lijst met beschikbare controlegebeurtenissen. | system.access.audit |
Ja | 365 dagen | Regionaal voor gebeurtenissen op werkruimteniveau. Globaal voor gebeurtenissen op accountniveau. |
Tabelherkomst (openbare preview) | Bevat een record voor elke lees- of schrijfbeurtenis in een Unity Catalog-tabel of -pad. | system.access.table_lineage |
Ja | 365 dagen | Regionaal |
Kolomherkomst (openbare preview) | Bevat een record voor elke lees- of schrijfbeurtenis in een Unity Catalog-kolom (maar bevat geen gebeurtenissen die geen bron hebben). | system.access.column_lineage |
Ja | 365 dagen | Regionaal |
Factureerbaar gebruik | Bevat records voor alle factureerbare gebruik in uw account. Elke gebruiksrecord is een aggregaties per uur van het factureerbare gebruik van een resource. | system.billing.usage |
Ja | 365 dagen | Globaal |
Prijzen | Een historisch logboek met SKU-prijzen. Er wordt elke keer een record toegevoegd wanneer er een wijziging is in een SKU-prijs. | system.billing.list_prices |
Nee | Onbeperkt | Globaal |
Clusters (openbare preview) | Een langzaam veranderende dimensietabel die de volledige geschiedenis van rekenconfiguraties in de loop van de tijd voor elk cluster bevat. | system.compute.clusters |
Ja | N.v.t. | Regionaal |
Tijdlijn van knooppunt (openbare preview) | Hiermee worden de metrische gegevens over het gebruik van uw rekenresources voor alle doeleinden en taken vastgelegd. | system.compute.node_timeline |
Ja | 30 dagen | Regionaal |
Knooppunttypen (openbare preview) | Legt de momenteel beschikbare knooppunttypen vast met de basishardwaregegevens. | system.compute.node_types |
Nee | N.v.t. | Regionaal |
SQL Warehouse-gebeurtenissen (openbare preview) | Legt gebeurtenissen vast die betrekking hebben op SQL-warehouses. Bijvoorbeeld: starten, stoppen, uitvoeren, omhoog en omlaag schalen. | system.compute.warehouse_events |
Ja | 365 dagen | Regionaal |
Taken (openbare preview) | Houdt alle taken bij die in het account zijn gemaakt. | system.lakeflow.jobs |
Ja | 365 dagen | Regionaal |
Taaktaken (openbare preview) | Houdt alle taaktaken bij die worden uitgevoerd in het account. | system.lakeflow.job_tasks |
Ja | 365 dagen | Regionaal |
Tijdlijn voor taakuitvoering (openbare preview) | Houdt de begin- en eindtijden van taakuitvoeringen bij. | system.lakeflow. job_run_timeline |
Ja | 365 dagen | Regionaal |
Tijdlijn taaktaak (openbare preview) | Houdt de begin- en eindtijden bij en rekenresources die worden gebruikt voor taakuitvoeringen. | system.lakeflow. job_task_run_timeline |
Ja | 365 dagen | Regionaal |
Marketplace-trechtergebeurtenissen (openbare preview) | Bevat consumentenindrukken en trechtergegevens voor uw vermeldingen. | system.marketplace.listing_ funnel_events |
Ja | 365 dagen | Regionaal |
Toegang tot Marketplace-vermeldingen (openbare preview) | Bevat consumentengegevens voor voltooide aanvraaggegevens of gegevensevenementen ophalen in uw vermeldingen. | system.marketplace.listing_ access_events |
Ja | 365 dagen | Regionaal |
Voorspellende optimalisatie (openbare preview) | Houdt de bewerkingsgeschiedenis van de functie voorspellende optimalisatie bij. | system.storage.predictive_ optimization_operations_history |
Nee | 180 dagen | Regionaal |
Databricks Assistant-gebeurtenissen (openbare preview) | Houdt gebruikersberichten bij die naar de Databricks Assistant worden verzonden. | system.access.assistant_events |
Nee | 365 dagen | Regionaal |
Querygeschiedenis (openbare preview) | Registreert records voor alle query's die worden uitgevoerd in SQL Warehouses. | system.query.history |
Ja | 90 dagen | Regionaal |
Clean room events (openbare preview) | Legt gebeurtenissen vast die betrekking hebben op schone ruimten. | system.access.clean_room_events |
Ja | 365 dagen | Regionaal |
Model voor eindpuntgebruik (openbare preview) | Hiermee worden tokenaantallen vastgelegd voor elke aanvraag naar een model dat eindpunt en de bijbehorende antwoorden verwerkt. | system.serving.endpoint_usage |
Ja | 90 dagen | Regionaal |
Model voor eindpuntgegevens (openbare preview) | Een langzaam veranderende dimensietabel waarin metagegevens worden opgeslagen voor elk geleverd extern model in een model dat het eindpunt bedient. | system.serving.served_entities |
Ja | 365 dagen | Regionaal |
De factureerbare gebruiks- en prijstabellen zijn gratis te gebruiken. Tabellen in openbare preview zijn ook gratis te gebruiken tijdens de preview, maar kunnen in de toekomst kosten in rekening brengen.
Notitie
Mogelijk ziet u andere systeemtabellen in uw account naast de hierboven genoemde tabellen. Deze tabellen bevinden zich momenteel in privévoorbeeld en zijn standaard leeg. Als u geïnteresseerd bent in het gebruik van een van deze tabellen, neemt u contact op met uw Databricks-accountteam.
Systeemtabelschema's inschakelen
Omdat systeemtabellen worden beheerd door Unity Catalog, moet u ten minste één werkruimte met Unity Catalog in uw account hebben om systeemtabellen in te schakelen en te openen. Systeemtabellen bevatten gegevens uit alle werkruimten in uw account, maar ze kunnen alleen worden geopend vanuit een werkruimte met Unity Catalog-functionaliteit.
Systeemtabellen worden ingeschakeld op schemaniveau. Als u een systeemschema inschakelt, schakelt u alle tabellen in dat schema in. Wanneer er nieuwe schema's worden vrijgegeven, moet een accountbeheerder het schema handmatig inschakelen.
Systeemtabellen moeten worden ingeschakeld door een accountbeheerder. U kunt systeemtabellen inschakelen met behulp van de SystemSchemas-API.
Notitie
Het billing
schema is standaard ingeschakeld. Andere schema's moeten handmatig worden ingeschakeld.
Beschikbare systeemschema's weergeven
Gebruik de volgende curl-opdracht om beschikbare systeemschema's weer te geven:
curl -v -X GET -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas"
Hier volgt een voorbeeld van de uitvoer van de GET
opdracht:
{"schemas":[{"schema":"access","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"billing","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"information_schema","state":"<AVAILABLE OR EnableCompleted>"}]}
state: AVAILABLE
: Het systeemschema is beschikbaar, maar is nog niet ingeschakeld.
state: EnableCompleted
: U hebt het systeemschema ingeschakeld en is zichtbaar in Catalog Explorer.
Een systeemschema inschakelen
Gebruik de volgende curl-opdracht om een systeemschema in te schakelen:
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>"
Als het systeemschema is ingeschakeld, wordt resultaatcode 200
geretourneerd.
Als u probeert een systeemschema opnieuw in te schakelen, wordt het volgende geretourneerd: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists"
Een systeemschema uitschakelen
Gebruik de volgende curl-opdracht om een systeemschema uit te schakelen:
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>"
Toegang verlenen tot systeemtabellen
Toegang tot systeemtabellen wordt beheerd door Unity Catalog. Gebruikers hebben standaard geen toegang tot deze systeemschema's. Als u toegang wilt verlenen, moet een gebruiker die zowel een metastore-beheerder als een accountbeheerder is, en machtigingen verlenen USE
aan SELECT
de systeemschema's. Zie Bevoegdheden beheren in Unity Catalog.
Systeemtabellen zijn alleen-lezen en kunnen niet worden gewijzigd.
Notitie
Als uw account is gemaakt na 9 november 2023, hebt u mogelijk geen metastore-beheerder standaard. Zie Unity Catalog instellen en beheren voor meer informatie.
Bevatten systeemtabellen gegevens voor alle werkruimten in uw account?
Systeemtabellen bevatten operationele gegevens voor alle werkruimten in uw account die zijn geïmplementeerd in dezelfde cloudregio. Factureringssysteemtabellen bevatten accountbrede gegevens.
Hoewel systeemtabellen alleen toegankelijk zijn via een Unity Catalog-werkruimte, bevatten de tabellen ook operationele gegevens voor de niet-Unity Catalog-werkruimten in uw account.
Waar worden systeemtabelgegevens opgeslagen?
De systeemtabelgegevens van uw account worden opgeslagen in een door Azure Databricks gehost opslagaccount in dezelfde regio als uw metastore. De gegevens worden veilig met u gedeeld met behulp van Delta Sharing.
Elke tabel heeft een gratis bewaarperiode voor gegevens. Neem contact op met uw Azure Databricks-accountteam voor informatie over het verlengen van de bewaarperiode.
Waar bevinden zich systeemtabellen in Catalog Explorer?
De systeemtabellen in uw account bevinden zich in een catalogus met de naam system
, die is opgenomen in elke Unity Catalog-metastore. In de system
catalogus ziet u schema's zoals access
en billing
die de systeemtabellen bevatten.
Overwegingen voor streamingsysteemtabellen
Azure Databricks maakt gebruik van Delta Sharing om systeemtabelgegevens te delen met klanten. Houd rekening met de volgende overwegingen bij het streamen met Delta Sharing:
- Als u streaming gebruikt met systeemtabellen, stelt u de
skipChangeCommits
optie in optrue
. Dit zorgt ervoor dat de streamingtaak niet wordt onderbroken door verwijderingen in de systeemtabellen. Zie Updates en verwijderingen negeren. Trigger.AvailableNow
wordt niet ondersteund met Delta Sharing-streaming. Het wordt geconverteerd naarTrigger.Once
.
Als u een trigger in uw streamingtaak gebruikt en merkt dat deze niet bij de meest recente systeemtabelversie komt, raadt Databricks aan om de geplande frequentie van de taak te verhogen.
Incrementele wijzigingen lezen uit streamingsysteemtabellen
spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")
Bekende problemen
Momenteel is er geen ondersteuning voor realtime bewaking. Gegevens worden de hele dag bijgewerkt. Als u geen logboek ziet voor een recente gebeurtenis, controleert u het later opnieuw.
Als u systeemtabellen wilt inschakelen, moet u mogelijk netwerktoegang verlenen tot het Blob Storage-eindpunt van de systeemtabellen. Als u een lijst met het opslageindpunt van de systeemtabellen van elke regio wilt weergeven, raadpleegt u IP-adressen van opslageindpunten.
De systeemschema's
system.operational_data
ensystem.lineage
zijn afgeschaft en bevatten lege tabellen.Het
__internal_logging
systeemtabelschema wordt gebruikt om logboekregistratie van nettoladingen te ondersteunen met behulp van deductietabellen. Dit schema is zichtbaar voor accountbeheerders, maar kan niet worden ingeschakeld en mag niet worden gebruikt voor klantwerkstromen.