Freigeben über


Überwachen der Kontoaktivität mit Systemtabellen

In diesem Artikel wird das Konzept der Systemtabellen in Azure Databricks erläutert und Ressourcen beleuchtet, mit deren Hilfe Sie Ihre Systemtabellendaten optimal nutzen können.

Was sind Systemtabellen?

Systemtabellen sind ein von Azure Databricks gehosteter Analysespeicher der operativen Daten Ihres Kontos im system-Katalog. Systemtabellen können für die Verlaufsbeobachtung Ihres Kontos verwendet werden.

Hinweis

Dokumentation zu system.information_schema finden Sie im Informationsschema.

Anforderungen

  • Um auf Systemtabellen zuzugreifen, muss Ihr Arbeitsbereich für Unity Catalog aktiviert sein. Weitere Informationen finden Sie unter Aktivieren des Systemtabellenschemas.

  • Systemtabellen sind in den folgenden Regionen nicht verfügbar:

    • Azure China-Regionen
    • Azure Government-Regionen
    • Indien, Westen
    • Schweiz, Westen

Welche Systemtabellen sind verfügbar?

Derzeit hostet Azure Databricks die folgenden Systemtabellen:

Tabelle Beschreibung Location Unterstützt Streaming Kostenfreier Aufbewahrungszeitraum Einschließlich globaler oder regionaler Daten
Überwachungsprotokolle (Public Preview) Enthält Datensätze für alle Überwachungsereignisse aus Arbeitsbereichen in Ihrer Region. Eine Liste der verfügbaren Überwachungsereignisse finden Sie unter Referenz zu Diagnoseprotokollen. system.access.audit Ja 365 Tage Regional für Ereignisse auf Arbeitsbereichsebene. Global für Ereignisse auf Kontoebene.
Tabellenlinie (Public Preview) Enthält einen Datensatz für jedes Lese- oder Schreibereignis in einer Unity Catalog-Tabelle oder einem Unity Catalog-Pfad. system.access.table_lineage Ja 365 Tage Länderspezifisch
Spaltenlinie (Public Preview) Enthält einen Datensatz für jedes Lese- oder Schreibereignis in einer Unity Catalog-Spalte (enthält jedoch keine Ereignisse, die keine Quelle haben). system.access.column_lineage Ja 365 Tage Länderspezifisch
Abrechenbare Nutzung Enthält Datensätze für alle abrechenbaren Nutzungen in Ihrem Konto. Jeder Nutzungsdatensatz ist eine stündliche Zusammenfassung der abrechenbaren Nutzung einer Ressource. system.billing.usage Ja 365 Tage Global
Preise Ein historisches Protokoll der SKU-Preise. Jedes Mal, wenn eine Änderung an einem SKU-Preis erfolgt, wird ein Datensatz hinzugefügt. system.billing.list_prices No Unbegrenzt Global
Cluster (Public Preview) Eine sich langsam ändernde Dimensionstabelle, die den vollständigen Verlauf der Computekonfigurationen im Lauf der Zeit für jeden Cluster enthält system.compute.clusters Ja N/V Länderspezifisch
Zeitleiste für Nodes (Public Preview) Erfasst die Nutzungsmetriken Ihrer universellen und auftragsbezogenen Computeressourcen system.compute.node_timeline Ja 30 Tage Länderspezifisch
Knotentypen (Public Preview) Erfasst die derzeit verfügbaren Knotentypen mit ihren grundlegenden Hardwareinformationen. system.compute.node_types No Länderspezifisch
SQL-Lagerhäuser (Öffentliche Vorschau) Enthält den vollständigen Verlauf der Konfigurationen im Laufe der Zeit für ein beliebiges SQL Warehouse. system.compute.warehouses Ja 365 Tage Länderspezifisch
SQL Warehouse-Ereignisse (Public Preview) Erfasst Ereignisse im Zusammenhang mit SQL Warehouses. Zum Beispiel Starten, Beenden, Ausführen, Hoch- und Herunterskalieren. system.compute.warehouse_events Ja 365 Tage Länderspezifisch
Jobs (Public Preview) Verfolgt alle Aufträge, die im Konto erstellt wurden. system.lakeflow.jobs Ja 365 Tage Länderspezifisch
Auftragsaufgaben (Public Preview) Verfolgt alle Auftragsaufgaben, die im Konto ausgeführt werden. system.lakeflow.job_tasks Ja 365 Tage Länderspezifisch
Zeitleiste für Auftragsausführung (Public Preview) Verfolgt die Start- und Endzeiten des Auftragsausführungen. system.lakeflow.

job_run_timeline
Ja 365 Tage Länderspezifisch
Zeitleiste für Auftragsaufgaben (Public Preview) Verfolgt die Start- und Endzeiten und berechnet Ressourcen, die für Ausführungen für Auftragsaufgaben verwendet werden. system.lakeflow.

job_task_run_timeline
Ja 365 Tage Länderspezifisch
Marketplace-Verkaufstrichterereignisse (Public Preview) Enthält Verbrauchereindruck- und Trichterdaten für Ihre Angebote. system.marketplace.listing_

funnel_events
Ja 365 Tage Länderspezifisch
Marketplace-Listing-Zugriff (Public Preview) Enthält Consumerinformationen für abgeschlossene Datenanforderungs- oder Datenabruf-Ereignisse. system.marketplace.listing_

access_events
Ja 365 Tage Länderspezifisch
Prädiktive Optimierung (Public Preview) Verfolgt den Betriebsverlauf des Features für die prädiktive Optimierung. system.storage.predictive_

optimization_operations_history
No 180 Tage Länderspezifisch
Databricks-Assistent Ereignisse (Public Preview) Verfolgt Benutzernachrichten, die an den Databricks-Assistenten gesendet wurden. system.access.assistant_events No 365 Tage Länderspezifisch
Abfrageverlauf (Public Preview) Erfasst Datensätze für alle Abfragen, die in SQL-Warehouses ausgeführt werden. system.query.history Ja 90 Tage Länderspezifisch
Clean Room-Ereignisse (Public Preview) Erfasst Ereignisse, die mit Reinräumen in Zusammenhang stehen system.access.clean_room_events Ja 365 Tage Länderspezifisch
Modell zur Endpunktverwendung (Public Preview) Erfasst die Tokenanzahl für jede Anforderung an einen Modellbereitstellungsendpunkt und seine Antworten. Um die Endpunktnutzung in dieser Tabelle zu erfassen, müssen Sie die Verwendungsnachverfolgung auf Ihrem Dienstendpunkt aktivieren. system.serving.endpoint_usage. Ja 90 Tage Länderspezifisch
Modell zur Bereitstellung von Endpunktdaten (Public Preview) Eine sich langsam verändernde Dimensionstabelle, die Metadaten für jedes bereitgestellte externe Modell in einem Modellbereitstellungsendpunkt speichert. system.serving.served_entities Ja 365 Tage Länderspezifisch

Die abrechnungsfähigen Nutzungs- und Preistabellen können kostenlos verwendet werden. Tabellen in der Public Preview können auch während der Vorschau verwendet werden, in Zukunft könnten hierfür aber Gebühren anfallen.

Hinweis

Möglicherweise werden in Ihrem Konto neben den oben aufgeführten auch andere Systemtabellen angezeigt. Diese Tabellen befinden sich derzeit in der privaten Vorschau und sind standardmäßig leer. Wenn Sie eine dieser Tabellen verwenden möchten, wenden Sie sich an Ihr Databricks-Kontoteam.

Aktivieren von Systemtabellenschematas

Da Systemtabellen von Unity Catalog gesteuert werden, benötigen Sie mindestens einen Unity Catalog-fähigen Arbeitsbereich in Ihrem Konto, um Systemtabellen aktivieren und öffnen zu können. Systemtabellen enthalten Daten aus allen Arbeitsbereichen in Ihrem Konto, auf sie kann jedoch nur über einen Unity Catalog-fähigen Arbeitsbereich zugegriffen werden.

Systemtabellen werden auf Schemaebene aktiviert. Wenn Sie ein Systemschema aktivieren, aktivieren Sie alle Tabellen innerhalb dieses Schemas. Wenn neue Schemas freigegeben werden, muss ein Kontoadministrator oder eine Kontoadministratorin das Schema manuell aktivieren.

Systemtabellen müssen von einem Kontoadmin aktiviert werden. Sie können Systemtabellen mithilfe der SystemSchemas-API aktivieren.

Hinweis

Das billing-Schema ist standardmäßig aktiviert. Andere Schemas müssen manuell aktiviert werden.

Auflisten verfügbarer Systemschemata

Verwenden Sie den folgenden curl-Befehl, um verfügbare Systemschemata aufzulisten:

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

Es folgt ein Beispiel für den Befehl GET:

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

state: AVAILABLE: Das Systemschema ist verfügbar, wurde aber noch nicht aktiviert.

state: EnableCompleted: Sie haben das Systemschema aktiviert, und es ist im Katalog-Explorer sichtbar.

Aktivieren eines Systemschemas

Verwenden Sie den folgenden curl-Befehl, um ein Systemschema zu aktivieren:

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>"

Wenn das Systemschema erfolgreich aktiviert wurde, wird der Ergebniscode 200 zurückgegeben.

Wenn Sie versuchen, ein Systemschema erneut zu aktivieren, wird Folgendes zurückgegeben: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists".

Deaktivieren eines Systemschemas

Verwenden Sie den folgenden curl-Befehl, um ein Systemschema zu deaktivieren:

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>"

Gewähren von Zugriff auf Systemtabellen

Der Zugriff auf Systemtabellen wird von Unity Catalog gesteuert. Kein Benutzer hat standardmäßig Zugriff auf diese Systemschemas. Um Zugriff zu gewähren, muss ein Benutzer, der sowohl ein Metastore-Administrator als auch ein Kontoadministrator ist, den Systemschemas die Berechtigungen USE und SELECT erteilen. Weitere Informationen finden Sie unter Verwalten von Berechtigungen in Unity Catalog.

Systemtabellen sind schreibgeschützt und können nicht geändert werden.

Hinweis

Wenn Ihr Konto nach dem 9. November 2023 erstellt wurde, verfügen Sie möglicherweise nicht standardmäßig über einen Metastore-Administrator. Weitere Informationen finden Sie unter Einrichten und Verwalten von Unity Catalog.

Enthalten Systemtabellen Daten für alle Arbeitsbereiche in Ihrem Konto?

Systemtabellen enthalten operative Daten für alle Arbeitsbereiche in Ihrem Konto, die in derselben Cloud-Region bereitgestellt werden. Abrechnungssystemtabellen enthalten kontoweite Daten.

Obwohl der Zugriff auf Systemtabellen nur über einen Unity Catalog-Arbeitsbereich möglich ist, enthalten die Tabellen auch operative Daten für die Nicht-Unity Catalog-Arbeitsbereiche in Ihrem Konto.

Wo werden die Daten der Systemtabelle gespeichert?

Die Systemtabellendaten Ihres Kontos werden in einem von Azure Databricks gehosteten Speicherkonto gespeichert, das sich in derselben Region wie Ihr Metaspeicher befindet. Die Daten werden über Delta Sharing sicher mit Ihnen geteilt.

Jede Tabelle verfügt über einen kostenlosen Aufbewahrungszeitraum für Daten. Informationen zur Verlängerung des Aufbewahrungszeitraums erhalten Sie von Ihrem Azure Databricks-Kundenteam.

Wo befinden sich Systemtabellen im Katalog-Explorer?

Die Systemtabellen in Ihrem Konto befinden sich in einem Katalog namens system, der in jedem Unity Catalog-Metastore enthalten ist. Im Katalog system finden Sie Schemata wie access und billing, die die Systemtabellen enthalten.

Überlegungen zu Streamingsystemtabellen

Azure Databricks verwendet Delta Sharing, um Systemtabellendaten für Kunden freizugeben. Beachten Sie beim Streamen mit Delta Sharing die folgenden Überlegungen:

  • Wenn Sie Streaming mit Systemtabellen verwenden, legen Sie die Option skipChangeCommits auf true fest. Dadurch wird sichergestellt, dass der Streamingauftrag nicht durch Löschvorgänge in den Systemtabellen unterbrochen wird. Weitere Informationen finden Sie unter Ignorieren von Updates und Löschungen.
  • Trigger.AvailableNow wird beim Delta Sharing-Streaming nicht unterstützt. Die Option wird in Trigger.Once konvertiert.

Wenn Sie einen Trigger in Ihrem Streamingauftrag verwenden und feststellen, dass er nicht die neueste Systemtabellenversion nutzt, empfiehlt Databricks, die geplante Häufigkeit des Auftrags zu erhöhen.

Inkrementelle Änderungen aus Streamingsystemtabellen lesen

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

Bekannte Probleme

  • Derzeit gibt es keine Unterstützung für Echtzeitüberwachung. Die Daten werden den ganzen Tag über aktualisiert. Wenn kein Protokoll für ein aktuelles Ereignis angezeigt wird, überprüfen Sie das Protokoll später noch einmal.

  • Zum Aktivieren von Systemtabellen müssen Sie möglicherweise Netzwerkzugriff auf den Blob Storage-Endpunkt der Systemtabellen gewähren. Eine Liste der Speicherendpunkte der Systemtabellen jeder Region finden Sie unter IP-Adressen des Speicherendpunkts.

  • Die Systemschemas system.operational_data und system.lineage sind veraltet und enthalten leere Tabellen.

  • Das __internal_logging-System-Tabellenschema wird zur Unterstützung der Nutzlastprotokollierung mit Hilfe von Inferenztabellen verwendet. Dieses Schema ist für Kontoadministratoren sichtbar, kann aber nicht aktiviert werden und sollte nicht für Kunden-Workflows verwendet werden.