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 , JOB enzovoort. |
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:
- Clusterrecords koppelen met de meest recente factureringsrecords
- Kenmerkkosten voor de eigenaar van het cluster
- De rekenresources identificeren met het hoogste gemiddelde gebruik en piekgebruik
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;