Freigeben über


Referenz zu Herkunftssystemtabellen

Wichtig

Dieses Feature befindet sich in der Public Preview.

Dieser Artikel bietet eine Übersicht über die Computesystemtabellen für den abrechenbaren Verbrauch, einschließlich des Schemas und Beispielabfragen. Es sind jetzt zwei Clustersystemtabellen verfügbar: clusters und node_types.

Clustertabellenschema

Die Clustertabelle ist eine sich langsam ändernde Dimensionstabelle, die den vollständigen Verlauf von Clusterkonfigurationen im Laufe der Zeit für Allzweck- und Auftragscluster enthält.

Die Clustersystemtabelle befindet sich in system.compute.clusters und weist das folgende Schema auf:

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-xxxxxxxx
cluster_name Zeichenfolge Benutzerdefinierter Name für den Cluster. My cluster
owned_by Zeichenfolge Benutzername des Clusterbesitzers. Standardmäßig der Clusterersteller, kann aber über die Cluster-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 Anz. von Workern. Nur für Cluster mit fester Größe definiert. 4
min_autoscale_workers BIGINT Die festgelegte Mindestanzahl von Workern. 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 boolean Status der automatischen Skalierung der Datenträgeraktivierung. true
tags map Benutzerdefinierte Tags für den Cluster (umfasst keine Standardtags). {"ResourceClass":"SingleNode"}
cluster_source Zeichenfolge Gibt den Ersteller für den Cluster an: UI, API, DLT, JOBusw. UI
init_scripts array Satz von Pfaden für Init-Skripts. "/Users/example@email.com/files/scripts/install-python-pacakges.sh"
aws_attributes struct AWS-spezifische Einstellungen. null
azure_attributes struct Azure-spezifische Einstellungen. {
"first_on_demand": "0",
"availability": "ON_DEMAND_AZURE",
"spot_bid_max_price": "—1"
}
gcp_attributes struct 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 date Datum ändern. Wird für die Aufbewahrung verwendet. 2023-01-09

Knotentypen-Tabellenschema

Die Knotentyp-Tabelle erfasst die derzeit verfügbaren Knotentypen mit ihren grundlegenden Hardwareinformationen. Die Knotentyp-Systemtabelle befindet sich in system.compute.node_types und weist das folgende Schema auf:

Spaltenname Datentyp Beschreibung Beispiel
account_id Zeichenfolge ID des Kontos, auf dem dieser Cluster erstellt wurde. 23e22ba4-87b9-4cc2-9770-d10b894b7118
node_type_name Zeichenfolge Eindeutige ID für diesen Knotentyp. Standard_D16s_v3
core_count double 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

Bekannte Einschränkungen

  • Cluster, die vor dem 23. Oktober 2023 als gelöscht markiert wurden, werden nicht in der Clustertabelle angezeigt. Dies kann zu Verknüpfungen aus der system.billing.usage-Tabelle führen, die keine Clusterdatensätze in der Clustertabelle enthalten. Alle aktiven Cluster wurden wieder ausgefüllt.
  • Die Clustertabelle enthält nur Datensätze für Allzweck- und Auftragscluster. Sie enthält keine Delta Live Tables-Cluster oder SQL-Warehouses.

Beispielabfragen

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

Hinweis

In diesen Beispielen wird die Clustertabelle mit der system.billing.usage-Tabelle 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 also basierend auf dem Zeitpunkt der Verwendung des Clusters auf den richtigen Besitzer angewendet.

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;

Attributkosten für einen Cluster an den Clusterbesitzer

Wenn Sie die Berechnungskosten reduzieren möchten, können Sie diese Abfrage verwenden, um herauszufinden, welche Clusterbesitzer in Ihrem Konto die meisten DBUs verwenden.

SELECT
  u.record_id record_id,
  c.cluster_id cluster_id,
  max_by(c.owned_by, c.change_time) owned_by,
  max(c.change_time) change_time,
  any_value(u.usage_start_time) usage_start_time,
  any_value(u.usage_quantity) usage_quantity
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 c.change_time <= u.usage_start_time
GROUP BY 1, 2
ORDER BY cluster_id, usage_start_time desc;