Delen via


Naslaginformatie over rekensysteemtabellen

Belangrijk

Deze functie is beschikbaar als openbare preview.

Dit artikel bevat een overzicht van de rekensysteemtabellen, waaronder de schema's en voorbeeldquery's. Er zijn nu twee clustersysteemtabellen beschikbaar: clusters en node_types.

Clustertabelschema

De clustertabel is een langzaam veranderende dimensietabel die de volledige geschiedenis van clusterconfiguraties in de loop van de tijd bevat voor clusters met alle doeleinden en taken.

De systeemtabel clusters bevindt zich op system.compute.clusters en heeft het volgende schema:

Kolomnaam Gegevenstype Beschrijving Voorbeeld
account_id tekenreeks Id van het account waarin dit cluster is gemaakt. 23e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id tekenreeks Id van de werkruimte waarin dit cluster is gemaakt. 1234567890123456
cluster_id tekenreeks Id van het cluster waaraan deze record is gekoppeld. 0000-123456-xxxxxxxx
cluster_name tekenreeks Door de gebruiker gedefinieerde naam voor het cluster. My cluster
owned_by tekenreeks Gebruikersnaam van de eigenaar van het cluster. Standaard ingesteld op de maker van het cluster, maar kan worden gewijzigd via de Clusters-API. sample_user@email.com
create_time timestamp Tijdstempel van de wijziging in deze rekendefinitie. 2023-01-09 11:00:00.000
delete_time timestamp Tijdstempel van het moment waarop het cluster is verwijderd. De waarde is null als het cluster niet wordt verwijderd. 2023-01-09 11:00:00.000
driver_node_type tekenreeks Naam van type stuurprogrammaknooppunt. Dit komt overeen met de naam van het exemplaartype van de cloudprovider. Standard_D16s_v3
worker_node_type tekenreeks Naam van werkknooppunttype. Dit komt overeen met de naam van het exemplaartype van de cloudprovider. Standard_D16s_v3
worker_count bigint Aantal werknemers. Alleen gedefinieerd voor clusters met een vaste grootte. 4
min_autoscale_workers bigint Het ingestelde minimumaantal werknemers. Dit veld is alleen geldig voor clusters voor automatisch schalen. 1
max_autoscale_workers bigint Het ingestelde maximum aantal werkrollen. Dit veld is alleen geldig voor clusters voor automatisch schalen. 1
auto_termination_minutes bigint De geconfigureerde duur van automatischeterminatie. 120
enable_elastic_disk boolean Status van automatisch schalen van schijven. true
tags map Door de gebruiker gedefinieerde tags voor het cluster (bevat geen standaardtags). {"ResourceClass":"SingleNode"}
cluster_source tekenreeks Hiermee wordt de maker voor het cluster aangegeven: UI, API, JOBenzovoort. UI
init_scripts matrix Set paden voor init-scripts. "/Users/example@email.com/files/scripts/install-python-pacakges.sh"
aws_attributes Struct SPECIFIEKE AWS-instellingen. null
azure_attributes Struct Specifieke Azure-instellingen. {
"first_on_demand": "0",
"availability": "ON_DEMAND_AZURE",
"spot_bid_max_price": "—1"
}
gcp_attributes Struct Specifieke GCP-instellingen. Dit veld is leeg. null
driver_instance_pool_id tekenreeks Exemplaargroep-id als het stuurprogramma is geconfigureerd boven op een exemplaargroep. 1107-555555-crhod16-pool-DIdnjazB
worker_instance_pool_id tekenreeks Exemplaargroep-id als de werkrol is geconfigureerd boven op een exemplaargroep. 1107-555555-crhod16-pool-DIdnjazB
dbr_version tekenreeks De Databricks Runtime van het cluster. 14.x-snapshot-scala2.12
change_time timestamp Tijdstempel van wijziging in de berekeningsdefinitie. 2023-01-09 11:00:00.000
change_date datum Datum wijzigen. Wordt gebruikt voor retentie. 2023-01-09

Tabelschema voor knooppunttypen

De tabel van het knooppunttype legt de momenteel beschikbare knooppunttypen vast met de basishardwaregegevens. De systeemtabel van het knooppunttype bevindt zich op system.compute.node_types en heeft het volgende schema:

Kolomnaam Gegevenstype Beschrijving Voorbeeld
account_id tekenreeks Id van het account waarin dit cluster is gemaakt. 23e22ba4-87b9-4cc2-9770-d10b894b7118
node_type_name tekenreeks Unieke id voor knooppunttype. Standard_D16s_v3
core_count dubbel Aantal vCPU's voor het exemplaar. 48.0
memory_mb long Totaal geheugen voor het exemplaar. 393216
gpu_count long Aantal GPU's voor het exemplaar. 0

Bekende beperkingen

  • Clusters die vóór 23 oktober 2023 zijn gemarkeerd als verwijderd, worden niet weergegeven in de tabel clusters. Dit kan ertoe leiden dat joins uit de system.billing.usage tabel niet overeenkomen met clusterrecords in de clustertabel. Alle actieve clusters zijn weer ingevuld.
  • De tabel clusters bevat alleen records voor alle doeleinden en taakclusters. Het bevat geen Delta Live Tables-clusters of SQL-warehouses.

Voorbeeldquery's

U kunt de volgende voorbeeldquery's gebruiken om algemene vragen over clusters te beantwoorden:

Notitie

Deze voorbeelden voegen de clustertabel samen met de system.billing.usage tabel. Omdat factureringsrecords regio-overschrijdend en clusterrecords zijn, komen factureringsrecords alleen overeen met clusterrecords voor de regio waarin u een query uitvoert. Als u records uit een andere regio wilt zien, voert u de query in die regio uit.

Clusterrecords koppelen met de meest recente factureringsrecords

Deze query kan u helpen inzicht te hebben in de uitgaven in de loop van de tijd. Zodra u de usage_start_time meest recente factureringsperiode hebt bijgewerkt, worden de meest recente updates voor de factureringsrecords opgehaald om samen te voegen aan clustergegevens.

Elke record is gekoppeld aan de eigenaar van het cluster tijdens die specifieke uitvoering. Dus als de eigenaar van het cluster verandert, worden de kosten samengevouwen tot de juiste eigenaar op basis van het moment waarop het cluster is gebruikt.

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;

Kenmerkkosten voor een cluster aan de eigenaar van het cluster

Als u de rekenkosten wilt verlagen, kunt u deze query gebruiken om erachter te komen welke clustereigenaren in uw account de meeste DBU's gebruiken.

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;