Referens för beräkningssystemtabeller
Viktigt!
Den här systemtabellen finns i offentlig förhandsversion. För att få åtkomst till tabellen måste schemat vara aktiverat i katalogen system
. Mer information finns i Aktivera systemtabellscheman.
Den här artikeln innehåller en referensguide för beräkningssystemtabellerna. Du kan använda dessa tabeller för att övervaka aktiviteten och måtten för all-purpose- och jobbberäkning i ditt konto:
-
clusters
: Registrerar beräkningskonfigurationer i ditt konto. -
node_types
: Innehåller en enda post för var och en av de tillgängliga nodtyperna, inklusive maskinvaruinformation. -
node_timeline
: Innehåller poster minut för minut för beräkningsanvändningsmått.
Schema för klustertabell
Klustertabellen är en långsamt föränderlig dimensionstabell som innehåller hela historiken för beräkningskonfigurationer över tid för beräkning av alla syften och jobb.
Tabellsökväg: Den här systemtabellen finns på system.compute.clusters
Kolumnnamn | Datatyp | beskrivning | Exempel |
---|---|---|---|
account_id |
sträng | ID för kontot där klustret skapades. | 23e22ba4-87b9- 4cc2-9770-d10b894b7118 |
workspace_id |
sträng | ID för arbetsytan där klustret skapades. | 1234567890123456 |
cluster_id |
sträng | ID för klustret som posten är associerad med. | 0000-123456-crmpt124 |
cluster_name |
sträng | Användardefinierat namn för klustret. | My cluster |
owned_by |
sträng | Användarnamn för klusterägaren. Standardvärdet är klusterskapare, men kan ändras via kluster-API:et. | sample_user@email.com |
create_time |
timestamp | Tidsstämpel för ändringen av den här beräkningsdefinitionen. | 2023-01-09 11:00:00.000 |
delete_time |
timestamp | Tidsstämpel för när klustret togs bort. Värdet är null om klustret inte tas bort. |
2023-01-09 11:00:00.000 |
driver_node_type |
sträng | Namn på drivrutinsnodtyp. Detta matchar namnet på instanstypen från molnleverantören. | Standard_D16s_v3 |
worker_node_type |
sträng | Namn på arbetsnodtyp. Detta matchar namnet på instanstypen från molnleverantören. | Standard_D16s_v3 |
worker_count |
bigint | Antal arbetare. Definieras endast för kluster med fast storlek. | 4 |
min_autoscale_workers |
bigint | Det angivna minsta antalet arbetare. Det här fältet är endast giltigt för autoskalningskluster. | 1 |
max_autoscale_workers |
bigint | Det angivna maximala antalet arbetare. Det här fältet är endast giltigt för autoskalningskluster. | 1 |
auto_termination_minutes |
bigint | Den konfigurerade varaktigheten för automatisk förintelse. | 120 |
enable_elastic_disk |
boolean | Status för automatisk skalning av diskaktivering. | true |
tags |
map | Användardefinierade taggar för klustret (innehåller inte standardtaggar). | {"ResourceClass":"SingleNode"} |
cluster_source |
sträng | Anger skaparen för klustret: UI , API , JOB , osv. |
UI |
init_scripts |
matris | Uppsättning sökvägar för init-skript. | "/Users/example@email.com /files/scripts/install-python-pacakges.sh" |
aws_attributes |
Struct | AWS-specifika inställningar. | null |
azure_attributes |
Struct | Specifika Inställningar för Azure. | { "first_on_demand": "0", "availability": "ON_DEMAND_AZURE", "spot_bid_max_price": "—1" } |
gcp_attributes |
Struct | GCP-specifika inställningar. Det här fältet kommer att vara tomt. | null |
driver_instance_pool_id |
sträng | Instanspools-ID om drivrutinen har konfigurerats ovanpå en instanspool. | 1107-555555-crhod16-pool-DIdnjazB |
worker_instance_pool_id |
sträng | Instanspools-ID om arbetaren har konfigurerats ovanpå en instanspool. | 1107-555555-crhod16-pool-DIdnjazB |
dbr_version |
sträng | Databricks Runtime för klustret. | 14.x-snapshot-scala2.12 |
change_time |
timestamp | Tidsstämpel för ändring av beräkningsdefinitionen. | 2023-01-09 11:00:00.000 |
change_date |
datum | Ändringsdatum. Används för kvarhållning. | 2023-01-09 |
Tabellschema för nodtyper
Nodtyptabellen samlar in de tillgängliga nodtyperna med sin grundläggande maskinvaruinformation.
Tabellsökväg: Den här systemtabellen finns på system.compute.node_types
.
Kolumnnamn | Datatyp | beskrivning | Exempel |
---|---|---|---|
account_id |
sträng | ID för kontot där klustret skapades. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
node_type |
sträng | Unik identifierare för nodtyp. | Standard_D16s_v3 |
core_count |
dubbel | Antal vCPU:er för instansen. | 48.0 |
memory_mb |
lång | Totalt minne för instansen. | 393216 |
gpu_count |
lång | Antal GPU:er för instansen. | 0 |
Tabellschema för nodtidslinje
Tidslinjetabellen för noden samlar in resursanvändningsdata på nodnivå med minutkornighet. Varje post innehåller data under en viss minut per instans.
Tabellsökväg: Den här systemtabellen finns på system.compute.node_timeline
.
Kolumnnamn | Datatyp | beskrivning | Exempel |
---|---|---|---|
account_id |
sträng | ID för det konto där den här beräkningsresursen körs. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
sträng | ID för arbetsytan där den här beräkningsresursen körs. | 1234567890123456 |
cluster_id |
sträng | ID för beräkningsresursen. | 0000-123456-crmpt124 |
instance_id |
sträng | ID för den specifika instansen. | i-1234a6c12a2681234 |
start_time |
timestamp | Starttid för posten i UTC. | 2024-07-16T12:00:00Z |
end_time |
timestamp | Sluttid för posten i UTC. | 2024-07-16T13:00:00Z |
driver |
boolean | Om instansen är en drivrutin eller arbetsnod. | true |
cpu_user_percent |
dubbel | Procentandel av den tid processorn spenderade i användarlandet. | 34.76163817234407 |
cpu_system_percent |
dubbel | Procentandel av den tid processorn spenderade i kerneln. | 1.0895310279488264 |
cpu_wait_percent |
dubbel | Procentandel av tiden som processorn spenderade på att vänta på I/O. | 0.03445157400629276 |
mem_used_percent |
dubbel | Procentandel av beräkningsminnet som användes under tidsperioden (inklusive minne som används av bakgrundsprocesser som körs på beräkningen). | 45.34858216779041 |
mem_swap_percent |
dubbel | Procentandel minnesanvändning som tillskrivs minnesväxling. | 0.014648443087939 |
network_sent_bytes |
bigint | Antalet byte som skickas ut i nätverkstrafiken. | 517376 |
network_received_bytes |
bigint | Antalet mottagna byte från nätverkstrafiken. | 179234 |
disk_free_bytes_per_mount_point |
map | Diskanvändningen grupperad efter monteringspunkt. Det här är en tillfällig lagring som endast etableras medan beräkningen körs. | {"/var/lib/lxc":123455551234,"/": 123456789123,"/local_disk0":123412341234} |
node_type |
sträng | Namnet på nodtypen. Detta matchar namnet på instanstypen från molnleverantören. | Standard_D16s_v3 |
Kända begränsningar
- Beräkningsresurser som har markerats som borttagna före den 23 oktober 2023 visas inte i klustertabellen. Detta kan resultera i kopplingar från
system.billing.usage
tabellen som inte matchar poster i klustertabellen. Alla aktiva beräkningsresurser har återfyllts. - Dessa tabeller innehåller endast poster för beräkning av alla syften och jobb. De innehåller inte poster för serverlös beräkning, Delta Live Tables-beräkning eller SQL-lager.
- Noder som kördes i mindre än 10 minuter kanske inte visas i
node_timeline
tabellen.
Exempelfrågor
Du kan använda följande exempelfrågor för att besvara vanliga frågor:
- Koppla klusterposter till de senaste faktureringsposterna
- Identifiera beräkningsresurserna med den högsta genomsnittliga användningen och den högsta användningen
Kommentar
Några av de här exemplen ansluter klustertabellen system.billing.usage
till tabellen. Eftersom faktureringsposter är korsregionala poster och klusterposter region-sepcific matchar faktureringsposter endast klusterposter för den region där du frågar. Om du vill se poster från en annan region kör du frågan i den regionen.
Koppla klusterposter till de senaste faktureringsposterna
Den här frågan kan hjälpa dig att förstå utgifter över tid. När du har uppdaterat usage_start_time
till den senaste faktureringsperioden hämtar den de senaste uppdateringarna av faktureringsposterna för att ansluta till klusterdata.
Varje post är associerad med klusterägaren under den specifika körningen. Så om klusterägaren ändras kommer kostnaderna att öka till rätt ägare baserat på när klustret användes.
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;
Identifiera beräkningsresurserna med den högsta genomsnittliga användningen och den högsta användningen
Identifiera all-purpose- och jobbberäkning som har den högsta genomsnittliga CPU-användningen och den högsta cpu-användningen.
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;