Delen via


Naslaginformatie over rekensysteemtabellen

Belangrijk

Deze systeemtabel bevindt zich in openbare preview. Voor toegang tot de tabel moet het schema zijn ingeschakeld in uw system catalogus. Zie Systeemtabelschema's inschakelen voor meer informatie.

Dit artikel bevat een naslaghandleiding voor de rekensysteemtabellen. U kunt deze tabellen gebruiken om de activiteit en metrische gegevens van alle doeleinden en taken in uw account te bewaken:

  • clusters: registreert rekenconfiguraties in uw account.
  • node_types: Bevat één record voor elk van de momenteel beschikbare knooppunttypen, inclusief hardwaregegevens.
  • node_timeline: Bevat minuut-per-minuut-records van de metrische gegevens over het gebruik van uw rekenproces.

Clustertabelschema

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

Tabelpad: Deze systeemtabel bevindt zich op system.compute.clusters

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-crmpt124
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.

Tabelpad: Deze systeemtabel bevindt zich op system.compute.node_types.

Kolomnaam Gegevenstype Beschrijving Voorbeeld
account_id tekenreeks Id van het account waarin dit cluster is gemaakt. 23e22ba4-87b9-4cc2-9770-d10b894b7118
node_type 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

Schema van tijdlijntabel van knooppunt

De tijdlijntabel voor knooppunten legt gegevens over resourcegebruik op knooppuntniveau vast op minuutgranulariteit. Elke record bevat gegevens voor een bepaalde minuut per exemplaar.

Tabelpad: Deze systeemtabel bevindt zich op system.compute.node_timeline.

Kolomnaam Gegevenstype Beschrijving Voorbeeld
account_id tekenreeks Id van het account waarop deze rekenresource wordt uitgevoerd. 23e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id tekenreeks Id van de werkruimte waarop deze rekenresource wordt uitgevoerd. 1234567890123456
cluster_id tekenreeks Id van de rekenresource. 0000-123456-crmpt124
instance_id tekenreeks Id voor het specifieke exemplaar. i-1234a6c12a2681234
start_time timestamp Begintijd voor de record in UTC. 2024-07-16T12:00:00Z
end_time timestamp Eindtijd voor de record in UTC. 2024-07-16T13:00:00Z
driver boolean Of het exemplaar nu een stuurprogramma of werkknooppunt is. true
cpu_user_percent dubbel Percentage tijd dat de CPU in userland heeft besteed. 34.76163817234407
cpu_system_percent dubbel Percentage tijd dat de CPU in de kernel heeft besteed. 1.0895310279488264
cpu_wait_percent dubbel Percentage tijd dat de CPU heeft gewacht op I/O. 0.03445157400629276
mem_used_percent dubbel Percentage van het rekengeheugen dat tijdens de periode is gebruikt (inclusief geheugen dat wordt gebruikt door achtergrondprocessen die op de berekening worden uitgevoerd). 45.34858216779041
mem_swap_percent dubbel Percentage geheugengebruik dat is toegeschreven aan het wisselen van geheugen. 0.014648443087939
network_sent_bytes bigint Het aantal bytes dat wordt verzonden in netwerkverkeer. 517376
network_received_bytes bigint Het aantal ontvangen bytes van netwerkverkeer. 179234
disk_free_bytes_per_mount_point map Het schijfgebruik gegroepeerd op koppelpunt. Dit is tijdelijke opslag die alleen is ingericht terwijl de berekening wordt uitgevoerd. {"/var/lib/lxc":123455551234,"/":

123456789123,"/local_disk0":123412341234}
node_type tekenreeks De naam van het knooppunttype. Dit komt overeen met de naam van het exemplaartype van de cloudprovider. Standard_D16s_v3

Bekende beperkingen

  • Rekenresources die vóór 23 oktober 2023 zijn gemarkeerd, worden niet weergegeven in de tabel clusters. Dit kan ertoe leiden dat joins uit de system.billing.usage tabel niet overeenkomen met records in de tabel clusters. Alle actieve rekenresources zijn weer ingevuld.
  • Deze tabellen bevatten alleen records voor alle doeleinden en taken berekenen. Ze bevatten geen records voor serverloze berekeningen, Delta Live Tables-berekeningen of SQL-warehouses.
  • Knooppunten die minder dan 10 minuten zijn uitgevoerd, worden mogelijk niet weergegeven in de node_timeline tabel.

Voorbeeldquery's

U kunt de volgende voorbeeldquery's gebruiken om veelgestelde vragen te beantwoorden:

Notitie

Sommige van 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 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;

De rekenresources identificeren met het hoogste gemiddelde gebruik en piekgebruik

Identificeer het rekenproces voor alle doeleinden en taken met het hoogste gemiddelde CPU-gebruik en het hoogste PIEK-CPU-gebruik.

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;