Dela via


Referens för beräkningssystemtabeller

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

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.

Systemtabellen för kluster finns på system.compute.clusters och har följande schema:

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. Systemtabellen för nodtyp finns på system.compute.node_types och har följande schema:

Kolumnnamn Datatyp beskrivning Exempel
account_id sträng ID för kontot där klustret skapades. 23e22ba4-87b9-4cc2-9770-d10b894b7118
node_type_name 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.

Systemtabellen för nodens tidslinje finns på system.compute.node_timeline och har följande schema:

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. 2024-07-16T12:00:00Z
end_time timestamp Sluttid för posten. 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:

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;

Tilldela kostnader till klusterägaren

Om du vill minska beräkningskostnaderna kan du använda den här frågan för att ta reda på vilka klusterägare i ditt konto som använder de flesta DBU:er.

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;

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;