Überwachen des Verbrauchs mit Systemtabellen

Wichtig

Dieses Feature befindet sich in der Public Preview. Es fallen derzeit keine Gebühren für die Verwendung dieses Features an. In Zukunft könnten einige dieser Nutzungsgebühren anfallen.

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.

Welche Systemtabellen sind verfügbar?

Derzeit hostet Azure Databricks Systemtabellen für:

Tabelle Beschreibung Location Unterstützt Streaming Aufbewahrung Einschließen globaler oder regionaler Daten
Überwachungsprotokolle 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.
Tabellendatenherkunft 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
Spaltenherkunft 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 Global
Cluster Eine sich langsam ändernde Dimensionstabelle, die den vollständigen Verlauf der Clusterkonfigurationen im Laufe der Zeit für jeden Cluster enthält. system.compute.clusters Ja Keine Länderspezifisch
Knotentypen Erfasst die derzeit verfügbaren Knotentypen mit ihren grundlegenden Hardwareinformationen. system.compute.node_types No Länderspezifisch
SQL Warehouse-Ereignisse 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
Marketplace-Trichterereignisse Enthält Verbrauchereindruck- und Trichterdaten für Ihre Angebote. system.marketplace.listing_

funnel_events
Ja 365 Tage Länderspezifisch
Marketplace-Auflistungszugriff Enthält Consumerinformationen für abgeschlossene Datenanforderungs- oder Datenabruf-Ereignisse. system.marketplace.listing_

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

optimization_operations_history
No 180 Tage Länderspezifisch

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.

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. Standardmäßig haben keine Benutzer*innen Zugriff auf Systemtabellen. Um Zugriff zu gewähren, muss ein Metastore-Administrator oder ein anderer privilegierter Benutzer 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?

Die Überwachungsprotokoll- und Herkunftstabellen enthalten operative Daten für alle Arbeitsbereiche in Ihrem Konto, die in derselben Cloudregion bereitgestellt werden. Die Abrechnungssystemtabelle (system.billing.usage) enthält Daten für alle Arbeitsbereiche in Ihrem Konto, unabhängig davon, in welcher Region sie bereitgestellt werden.

Obwohl auf Systemtabellen nur über einen Unity Catalog-Arbeitsbereich zugegriffen werden kann, enthalten die Tabellen auch operative Daten für Nicht-Unity Catalog-Arbeitsbereiche in Ihrem Konto.

Wo befinden sich die Systemtabellen?

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.

Hinweis

Während der öffentlichen Vorschau der Systemtabellen behält Azure Databricks alle Daten Ihrer Systemtabellen bei.

Überlegungen zu Streamingsystemtabellen

Der Zugriff auf Systemtabellen wird von Delta Sharing unterstützt. Beachten Sie beim Streamen mit Delta Sharing die folgenden Überlegungen:

  • Wenn Sie Streaming mit Systemtabellen verwenden, legen Sie die Option skipChangeCommit 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 der Auftrag nicht die neueste Systemtabellenversion nutzt, empfiehlt Databricks, die geplante Häufigkeit des Auftrags zu erhöhen.

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.