Freigeben über


Referenz zu Rechensystemtabellen

Dieser Artikel enthält ein Referenzhandbuch für die Computer-Systemtabellen. Sie können diese Tabellen verwenden, um die Aktivität und Metriken von Nicht-Serverless-Allzweckberechnung, Job-Berechnung und Lakeflow Spark Declarative Pipelines in Ihrem Konto zu überwachen. Zu den Berechnungstabellen gehören:

  • clusters: zeichnet Computekonfigurationen in Ihrem Konto auf.
  • node_types: enthält einen einzelnen Datensatz für jeden der derzeit verfügbaren Knotentypen, einschließlich Hardwareinformationen.
  • node_timeline: Enthält Minutenprotokolle der Nutzungsmetriken Ihres Computers.

Clustertabellenschema

Die Clustertabelle ist eine sich langsam ändernde Dimensionstabelle, die den vollständigen Verlauf der Berechnungskonfigurationen im Laufe der Zeit für die universelle Berechnung, die Job-Berechnung, die Lakeflow Spark Declarative Pipelines-Berechnung und die Pipeline-Wartungsberechnung enthält.

Tabellenpfad: Diese Systemtabelle befindet sich unter system.compute.clusters

Spaltenname Datentyp Beschreibung Beispiel
account_id Zeichenfolge ID des Kontos, auf dem dieser Cluster erstellt wurde. 23e22ba4-87b9-
4cc2-9770-d10b894b7118
workspace_id Zeichenfolge ID des Arbeitsbereichs, in dem dieser Cluster erstellt wurde. 1234567890123456
cluster_id Zeichenfolge ID des Clusters, für den dieser Datensatz zugeordnet ist. 0000-123456-crmpt124
cluster_name Zeichenfolge Benutzerdefinierter Name für den Cluster. My cluster
owned_by Zeichenfolge Benutzername des Clusterbesitzers. Standardmäßig auf den Clusterersteller eingestellt, kann jedoch über die Clusters API geändert werden. sample_user@email.com
create_time Zeitstempel Zeitstempel der Änderung an dieser Berechnungsdefinition. 2023-01-09 11:00:00.000
delete_time Zeitstempel Zeitstempel des Zeitpunkts, zu dem der Cluster gelöscht wurde. Der Wert ist null, wenn der Cluster nicht gelöscht wird. 2023-01-09 11:00:00.000
driver_node_type Zeichenfolge Name des Treiberknotentyps. Dies entspricht dem Namen des Instanztyps vom Cloudanbieter. Standard_D16s_v3
worker_node_type Zeichenfolge Name des Arbeitsknotentyps. Dies entspricht dem Namen des Instanztyps vom Cloudanbieter. Standard_D16s_v3
worker_count BIGINT Anzahl der Arbeiter. Nur für Cluster mit fester Größe definiert. 4
min_autoscale_workers BIGINT Die festgelegte Mindestanzahl von Mitarbeitern. Dieses Feld ist nur für automatische Skalierungscluster gültig. 1
max_autoscale_workers BIGINT Die maximale Anzahl der Worker. Dieses Feld ist nur für automatische Skalierungscluster gültig. 1
auto_termination_minutes BIGINT Die konfigurierte Autoterminierungsdauer. 120
enable_elastic_disk Boolescher Wert Status der Aktivierung der automatischen Skalierung des Datenträgers. true
tags Karte Benutzerdefinierte Tags für den Cluster (umfasst keine Standardtags). {"ResourceClass":"SingleNode"}
cluster_source Zeichenfolge Quelle des Clusters. Die UI- oder API-Werte gelten nur für die universelle Berechnung. Alle Auftragsberechnungen werden protokolliert als JOB. Pipelines sind PIPELINE oder PIPELINE_MAINTENANCE. UI
init_scripts Array Satz von Pfaden für Init-Skripts. "/Users/example@email.com
/files/scripts/install-python-pacakges.sh"
aws_attributes Struktur AWS-spezifische Einstellungen. null
azure_attributes Struktur Azure-spezifischen Einstellungen. {
"first_on_demand": "0",
"availability": "ON_DEMAND_AZURE",
"spot_bid_max_price": "—1"
}
gcp_attributes Struktur GCP-spezifische Einstellungen. Dieses Feld bleibt leer. null
driver_instance_pool_id Zeichenfolge Instanzpool-ID, wenn der Treiber über einem Instanzpool konfiguriert ist. 1107-555555-crhod16-pool-DIdnjazB
worker_instance_pool_id Zeichenfolge Instanzpool-ID, wenn der Worker über einem Instanzpool konfiguriert ist. 1107-555555-crhod16-pool-DIdnjazB
dbr_version Zeichenfolge Die Databricks-Laufzeit des Clusters. 14.x-snapshot-scala2.12
change_time Zeitstempel Zeitstempel der Änderung an der Computedefinition. 2023-01-09 11:00:00.000
change_date Datum Datum ändern. Wird für die Aufbewahrung verwendet. 2023-01-09
data_security_mode Zeichenfolge Der Zugriffsmodus der Computeressource. Siehe Access-Modusreferenz. USER_ISOLATION
policy_id Zeichenfolge ID der Rechenrichtlinie des Clusters, falls zutreffend. 1234F35636110A5B

Zugriffsmodusreferenz

In der folgenden Tabelle werden die möglichen Werte in der data_security_mode Spalte übersetzt. Die Spalte kann auch für bestimmte Pipelines und vom System erstellte Cluster sein null .

Wert Zugriffsmodus
USER_ISOLATION Norm
SINGLE_USER Dediziert

Die älteren Zugriffsmodi werden mit den folgenden Werten aufgezeichnet:

Wert Zugriffsmodus
LEGACY_PASSTHROUGH Passthrough für Anmeldeinformationen (gemeinsam genutzt)
LEGACY_SINGLE_USER Passthrough für Anmeldedaten (für einen einzelnen Benutzer)
LEGACY_TABLE_ACL Kundenspezifisch
NONE Keine geteilte Isolation

Tabellenschema für Knotentypen

Die Knotentyp-Tabelle erfasst die derzeit verfügbaren Knotentypen mit ihren grundlegenden Hardwareinformationen.

Tabellenpfad: Diese Systemtabelle befindet sich unter system.compute.node_types.

Spaltenname Datentyp Beschreibung Beispiel
account_id Zeichenfolge ID des Kontos, auf dem dieser Cluster erstellt wurde. 23e22ba4-87b9-4cc2-9770-d10b894b7118
node_type Zeichenfolge Eindeutige ID für diesen Knotentyp. Standard_D16s_v3
core_count doppelt Anzahl der vCPUs für die Instanz. 48.0
memory_mb lang Gesamtspeicher für die Instanz. 393216
gpu_count lang Anzahl der GPUs für die Instanz. 0

Tabellenschema für Knotenzeitachsen

In der Knotenzeitleistentabelle wird der Ressourcenverbrauch auf Knotenebene mit einer Minutenauflösung erfasst. Jeder Datensatz enthält Daten für eine bestimmte Minute pro Instanz. In dieser Tabelle werden Zeitachsen der Knoten für die Allzweck-Berechnungs-, Auftrags-Berechnungs-, Lakeflow Spark Declarative Pipelines-Berechnungs- und Pipeline-Wartungs-Berechnungsressourcen in Ihrem Konto erfasst.

Tabellenpfad: Diese Systemtabelle befindet sich unter system.compute.node_timeline.

Spaltenname Datentyp Beschreibung Beispiel
account_id Zeichenfolge ID des Kontos, unter dem diese Computeressource ausgeführt wird 23e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id Zeichenfolge ID des Arbeitsbereichs, in dem diese Computeressource ausgeführt wird 1234567890123456
cluster_id Zeichenfolge ID der Computeressource 0000-123456-crmpt124
instance_id Zeichenfolge ID der spezifischen Instanz i-1234a6c12a2681234
start_time Zeitstempel UTC-Startzeit der Aufzeichnung 2024-07-16T12:00:00Z
end_time Zeitstempel Endzeit des Protokolls in UTC. 2024-07-16T13:00:00Z
driver Boolescher Wert Gibt an, ob es sich bei der Instanz um einen Treiber- oder Workerknoten handelt. true
cpu_user_percent doppelt Prozentsatz der Zeit, die die CPU in der Benutzerumgebung aufgewendet hat 34.76163817234407
cpu_system_percent doppelt Prozentsatz der Zeit, die die CPU im Kernel aufgewendet hat 1.0895310279488264
cpu_wait_percent doppelt Prozentsatz der Zeit, die die CPU für das Warten auf E/A aufgewendet hat 0.03445157400629276
mem_used_percent doppelt Prozentsatz des Arbeitsspeichers des Computes, der während des Zeitraums verwendet wurde (einschließlich des Arbeitsspeichers, der von Hintergrundprozessen verwendet wird, die auf der Berechnung ausgeführt werden). 45.34858216779041
mem_swap_percent doppelt Prozentsatz der Speicherauslastung durch Speicherswap. 0.014648443087939
network_sent_bytes BIGINT Anzahl Bytes, die über Netzwerkdatenverkehr gesendet wurden 517376
network_received_bytes BIGINT Anzahl Bytes, die über Netzwerkdatenverkehr empfangen wurden 179234
disk_free_bytes_per_mount_point Karte Datenträgerauslastung gruppiert nach Bereitstellungspunkt. Dies ist kurzlebiger Speicher, der nur während der Computeausführung bereitgestellt wird. {"/var/lib/lxc":123455551234,"/":
123456789123,"/local_disk0":123412341234}
node_type Zeichenfolge Name des Knotentyps. Er entspricht dem Namen des Instanztyps vom Cloudanbieter. Standard_D16s_v3
private_ip Zeichenfolge Die private IP-Adresse, die dem Knoten zugewiesen ist. 10.0.0.42

Bekannte Einschränkungen

  • Clusterressourcen, die vor dem 23. Oktober 2023 als gelöscht markiert wurden, sind nicht in der Clustertabelle enthalten. Dies kann dazu führen, dass Verknüpfungen aus der Tabelle system.billing.usage keinen Clusterdatensätzen in der Clustertabelle entsprechen. Alle aktiven Rechenressourcen wurden nachgefüllt.
  • Diese Tabellen enthalten nur Datensätze für Allzweck- und jobbezogene Computingressourcen. Sie enthalten keine Datensätze für serverlose Compute- oder SQL-Lagerhäuser.
  • Knoten, die weniger als 10 Minuten laufen, werden möglicherweise nicht in der Tabelle node_timeline angezeigt.

Beispielabfragen

Sie können die folgenden Beispielabfragen verwenden, um häufig gestellte Fragen zu beantworten:

Hinweis

In einigen dieser Beispiele wird die Clustertabelle mit der Tabelle system.billing.usage verknüpft. Da Abrechnungsdatensätze regionsübergreifend und Clusterdatensätze regionsspezifisch sind, stimmen Abrechnungsdatensätze nur mit Clusterdatensätzen für die Region überein, in der Sie abfragen. Um Datensätze aus einer anderen Region anzuzeigen, führen Sie die Abfrage bitte in dieser Region aus.

Verbinden von Clusterdatensätzen mit den neuesten Abrechnungsdatensätzen

Diese Abfrage kann Ihnen helfen, die Ausgaben im Laufe der Zeit zu verstehen. Nachdem Sie den usage_start_time auf den aktuellen Abrechnungszeitraum aktualisiert haben, erfasst er die neuesten Aktualisierungen der Abrechnungsdaten, um die Clusterdaten zu verknüpfen.

Jeder Datensatz wird während dieser bestimmten Ausführung dem Clusterbesitzer zugeordnet. Wenn sich der Clusterbesitzer ändert, werden die Kosten basierend auf dem Zeitpunkt der Verwendung des Clusters dem richtigen Besitzer zugeordnet.

SELECT
  u.record_id,
  c.cluster_id,
  c.owned_by,
  c.change_time,
  u.usage_start_time,
  u.usage_quantity
FROM
  system.billing.usage u
  JOIN system.compute.clusters c
  JOIN (SELECT u.record_id, c.cluster_id, max(c.change_time) change_time
    FROM system.billing.usage u
    JOIN system.compute.clusters c
    WHERE
      u.usage_metadata.cluster_id is not null
      and u.usage_start_time >= '2023-01-01'
      and u.usage_metadata.cluster_id = c.cluster_id
      and date_trunc('HOUR', c.change_time) <= date_trunc('HOUR', u.usage_start_time)
    GROUP BY all) config
WHERE
  u.usage_metadata.cluster_id is not null
  and u.usage_start_time >= '2023-01-01'
  and u.usage_metadata.cluster_id = c.cluster_id
  and u.record_id = config.record_id
  and c.cluster_id = config.cluster_id
  and c.change_time = config.change_time
ORDER BY cluster_id, usage_start_time desc;

Identifizieren Sie die Computerressourcen mit der höchsten durchschnittlichen Auslastung und Spitzenauslastung

Ermitteln Sie die universellen und auftragsbezogenen Rechenressourcen mit der höchsten durchschnittlichen CPU-Auslastung und der höchsten Spitzen-CPU-Auslastung.

SELECT
        distinct cluster_id,
driver,
avg(cpu_user_percent + cpu_system_percent) as `Avg CPU Utilization`,
max(cpu_user_percent + cpu_system_percent) as `Peak CPU Utilization`,
        avg(cpu_wait_percent) as `Avg CPU Wait`,
        max(cpu_wait_percent) as `Max CPU Wait`,
        avg(mem_used_percent) as `Avg Memory Utilization`,
        max(mem_used_percent) as `Max Memory Utilization`,
avg(network_received_bytes)/(1024^2) as `Avg Network MB Received per Minute`,
avg(network_sent_bytes)/(1024^2) as `Avg Network MB Sent per Minute`
FROM
        node_timeline
WHERE
        start_time >= date_add(now(), -1)
GROUP BY
        cluster_id,
        driver
ORDER BY
        3 desc;