Referenční informace k tabulkám výpočetního systému
Důležité
Tato systémová tabulka je ve verzi Public Preview. Aby bylo možné získat přístup k tabulce, musí být schéma v system
katalogu povolené. Další informace naleznete v tématu Povolení schémat systémových tabulek.
Tento článek obsahuje referenční příručku pro tabulky výpočetních systémů. Pomocí těchto tabulek můžete monitorovat aktivitu a metriky výpočetních prostředků pro všechny účely a úlohy ve vašem účtu:
clusters
: Zaznamenává výpočetní konfigurace ve vašem účtu.node_types
: Zahrnuje jeden záznam pro každý z aktuálně dostupných typů uzlů, včetně informací o hardwaru.node_timeline
: Zahrnuje záznamy metrik využití výpočetních prostředků po minutách.
Schéma tabulky clusteru
Tabulka clusteru je pomalá tabulka dimenzí, která obsahuje úplnou historii konfigurací výpočetních prostředků v průběhu času pro výpočetní prostředky pro všechny účely a úlohy.
Cesta k tabulce: Tato systémová tabulka se nachází na adrese . system.compute.clusters
Název sloupce | Datový typ | Popis | Příklad |
---|---|---|---|
account_id |
string | ID účtu, ve kterém byl tento cluster vytvořen. | 23e22ba4-87b9- 4cc2-9770-d10b894b7118 |
workspace_id |
string | ID pracovního prostoru, ve kterém byl tento cluster vytvořen. | 1234567890123456 |
cluster_id |
string | ID clusteru, ke kterému je tento záznam přidružený. | 0000-123456-crmpt124 |
cluster_name |
string | Uživatelem definovaný název clusteru | My cluster |
owned_by |
string | Uživatelské jméno vlastníka clusteru Ve výchozím nastavení se tvůrce clusteru změní, ale můžete ho změnit prostřednictvím rozhraní API clusterů. | sample_user@email.com |
create_time |
časové razítko | Časové razítko změny této definice výpočetních prostředků. | 2023-01-09 11:00:00.000 |
delete_time |
časové razítko | Časové razítko odstranění clusteru Hodnota je null v případě, že se cluster neodstraní. |
2023-01-09 11:00:00.000 |
driver_node_type |
string | Název typu uzlu ovladače Odpovídá názvu typu instance od poskytovatele cloudu. | Standard_D16s_v3 |
worker_node_type |
string | Název typu pracovního uzlu Odpovídá názvu typu instance od poskytovatele cloudu. | Standard_D16s_v3 |
worker_count |
bigint | Počet pracovníků. Definované pouze pro clustery s pevnou velikostí. | 4 |
min_autoscale_workers |
bigint | Nastaví minimální počet pracovních procesů. Toto pole je platné jenom pro clustery automatického škálování. | 1 |
max_autoscale_workers |
bigint | Nastavený maximální počet pracovních procesů. Toto pole je platné jenom pro clustery automatického škálování. | 1 |
auto_termination_minutes |
bigint | Nakonfigurovaná doba trvání automatického dokončování. | 120 |
enable_elastic_disk |
boolean | Stav automatického škálování povolení disku | true |
tags |
map | Uživatelem definované značky pro cluster (nezahrnuje výchozí značky). | {"ResourceClass":"SingleNode"} |
cluster_source |
string | Označuje tvůrce clusteru: UI , API , JOB atd. |
UI |
init_scripts |
pole | Sada cest pro inicializační skripty | "/Users/example@email.com /files/scripts/install-python-pacakges.sh" |
aws_attributes |
struct | Konkrétní nastavení AWS. | null |
azure_attributes |
struct | Konkrétní nastavení Azure | { "first_on_demand": "0", "availability": "ON_DEMAND_AZURE", "spot_bid_max_price": "—1" } |
gcp_attributes |
struct | Nastavení specifické pro GCP. Toto pole bude prázdné. | null |
driver_instance_pool_id |
string | ID fondu instancí, pokud je ovladač nakonfigurovaný nad fondem instancí. | 1107-555555-crhod16-pool-DIdnjazB |
worker_instance_pool_id |
string | ID fondu instancí, pokud je pracovní proces nakonfigurovaný nad fondem instancí. | 1107-555555-crhod16-pool-DIdnjazB |
dbr_version |
string | Databricks Runtime clusteru. | 14.x-snapshot-scala2.12 |
change_time |
časové razítko | Časové razítko změny definice výpočetních prostředků | 2023-01-09 11:00:00.000 |
change_date |
datum | Změnit datum. Používá se k uchovávání informací. | 2023-01-09 |
Schéma tabulky typů uzlů
Tabulka typu uzlu zachycuje aktuálně dostupné typy uzlů s jejich základními informacemi o hardwaru.
Cesta k tabulce: Tato systémová tabulka se nachází na system.compute.node_types
adrese .
Název sloupce | Datový typ | Popis | Příklad |
---|---|---|---|
account_id |
string | ID účtu, ve kterém byl tento cluster vytvořen. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
node_type |
string | Jedinečný identifikátor pro typ uzlu. | Standard_D16s_v3 |
core_count |
double | Počet virtuálních procesorů instance | 48.0 |
memory_mb |
long | Celková paměť pro instanci. | 393216 |
gpu_count |
long | Počet grafických procesorů pro instanci | 0 |
Schéma tabulky časové osy uzlu
Tabulka časové osy uzlu zachycuje data o využití prostředků na úrovni uzlu v minutové členitosti. Každý záznam obsahuje data za danou minutu času na instanci.
Cesta k tabulce: Tato systémová tabulka se nachází na system.compute.node_timeline
adrese .
Název sloupce | Datový typ | Popis | Příklad |
---|---|---|---|
account_id |
string | ID účtu, na kterém je tento výpočetní prostředek spuštěný. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | ID pracovního prostoru, na kterém je tento výpočetní prostředek spuštěný. | 1234567890123456 |
cluster_id |
string | ID výpočetního prostředku. | 0000-123456-crmpt124 |
instance_id |
string | ID konkrétní instance. | i-1234a6c12a2681234 |
start_time |
časové razítko | Čas zahájení záznamu v UTC. | 2024-07-16T12:00:00Z |
end_time |
časové razítko | Koncový čas záznamu v UTC. | 2024-07-16T13:00:00Z |
driver |
boolean | Určuje, zda je instance ovladačem nebo pracovním uzlem. | true |
cpu_user_percent |
double | Procento času stráveného procesorem v uživatelské oblasti | 34.76163817234407 |
cpu_system_percent |
double | Procento času stráveného procesorem v jádru | 1.0895310279488264 |
cpu_wait_percent |
double | Procento času stráveného čekáním na vstupně-výstupní operace procesoru | 0.03445157400629276 |
mem_used_percent |
double | Procento paměti výpočetních prostředků, které se použily během časového období (včetně paměti používané procesy na pozadí spuštěných na výpočetním prostředí). | 45.34858216779041 |
mem_swap_percent |
double | Procento využití paměti přiřazené k prohození paměti | 0.014648443087939 |
network_sent_bytes |
bigint | Počet bajtů odesílaných v síťovém provozu | 517376 |
network_received_bytes |
bigint | Počet přijatých bajtů ze síťového provozu | 179234 |
disk_free_bytes_per_mount_point |
map | Využití disku seskupené podle přípojného bodu. Toto je dočasné úložiště zřízené jenom v době, kdy je výpočetní prostředí spuštěné. | {"/var/lib/lxc":123455551234,"/": 123456789123,"/local_disk0":123412341234} |
node_type |
string | Název typu uzlu. Bude se shodovat s názvem typu instance od poskytovatele cloudu. | Standard_D16s_v3 |
Známá omezení
- Výpočetní prostředky, které byly označeny jako odstraněné před 23. říjnem 2023, se v tabulce clusterů nezobrazují. To může vést k
system.billing.usage
tomu, že spojení z tabulky neodpovídají záznamům v tabulce clusterů. Všechny aktivní výpočetní prostředky byly znovu vyplněny. - Tyto tabulky obsahují jenom záznamy pro výpočetní prostředky pro všechny účely a úlohy. Neobsahují záznamy pro výpočetní prostředky bez serveru, výpočty Delta Live Tables ani sql warehouse.
- Uzly, které běžely méně než 10 minut, se nemusí v
node_timeline
tabulce objevit.
Vzorové dotazy
K zodpovězení běžných otázek můžete použít následující ukázkové dotazy:
- Připojení záznamů clusteru s nejnovějšími fakturačními záznamy
- Přiřazovat náklady vlastníku clusteru
- Identifikace výpočetních prostředků s nejvyšším průměrným využitím a nejvyšším využitím ve špičce
Poznámka:
Některé z těchto příkladů spojují tabulku clusteru s tabulkou system.billing.usage
. Vzhledem k tomu, že fakturační záznamy jsou mezi oblastmi a záznamy clusteru, záznamy fakturace odpovídají záznamům clusteru pouze pro oblast, ve které dotazujete. Pokud chcete zobrazit záznamy z jiné oblasti, spusťte dotaz v této oblasti.
Připojení záznamů clusteru s nejnovějšími fakturačními záznamy
Tento dotaz vám pomůže porozumět útratě v průběhu času. Jakmile aktualizujete usage_start_time
aktuální fakturační období, vezme nejnovější aktualizace fakturačních záznamů, aby se připojil k datům clusterů.
Každý záznam je přidružený k vlastníkovi clusteru během tohoto konkrétního spuštění. Pokud se tedy vlastník clusteru změní, náklady se zahrnou do správného vlastníka na základě toho, kdy se cluster použil.
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;
Přiřazovat náklady vlastníku clusteru
Pokud chcete snížit náklady na výpočetní prostředky, můžete pomocí tohoto dotazu zjistit, kteří vlastníci clusteru ve vašem účtu používají nejvíce DBU.
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;
Identifikace výpočetních prostředků s nejvyšším průměrným využitím a nejvyšším využitím ve špičce
Identifikujte výpočetní prostředky pro všechny účely a úlohy, které mají nejvyšší průměrné využití procesoru a nejvyšší využití procesoru ve špičce.
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;