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, JOBatd. 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_typesadrese .

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

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:

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;