Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek obsahuje referenční příručku pro tabulky výpočetních systémů. Pomocí těchto tabulek můžete monitorovat aktivity a metriky klasických výpočetních prostředků pro všechny účely, výpočetních úloh a výpočetních prostředků Sparku Lakeflow deklarativních kanálů ve vašem účtu. Mezi klasické výpočetní tabulky patří:
-
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. -
instance_events: Zachycuje přechody stavu klasických výpočetních instancí. -
instance_pools: Zaznamenává konfigurace fondu instancí ve vašem účtu.
Schéma tabulky clusteru
Tabulka klastru je tabulka dimenze s pomalými změnami, která obsahuje úplnou historii konfigurace výpočetního prostředí v čase pro univerzální výpočet, výpočet úloh, výpočet deklarativních kanálů Spark Lakeflow a výpočet údržby kanálů.
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 |
řetězec | ID účtu, ve kterém byl tento cluster vytvořen. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
řetězec | ID pracovního prostoru, ve kterém byl tento cluster vytvořen. | 1234567890123456 |
cluster_id |
řetězec | ID clusteru, ke kterému je tento záznam přidružený. | 0000-123456-crmpt124 |
cluster_name |
řetězec | Uživatelem definovaný název clusteru | My cluster |
owned_by |
řetězec | Uživatelské jméno vlastníka clusteru Ve výchozím nastavení je nastaveno na tvůrce clusteru, ale lze 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ího systému. | 2023-01-09 11:00:00.000 |
delete_time |
časové razítko | Časové razítko odstranění clustru Hodnota je null v případě, že se cluster neodstraní. |
2023-01-09 11:00:00.000 |
driver_node_type |
řetězec | Název typu uzlu ovladače Odpovídá názvu typu instance od poskytovatele cloudu. | Standard_D16s_v3 |
worker_node_type |
řetězec | 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 | Minimální stanovený počet pracovníků. Toto pole je platné jenom pro clustery automatického škálování. | 1 |
max_autoscale_workers |
bigint | Nastavený maximální počet pracovníků. Toto pole je platné jenom pro clustery automatického škálování. | 1 |
auto_termination_minutes |
bigint | Nakonfigurovaná doba trvání automatického ukončení. | 120 |
enable_elastic_disk |
booleovský | Stav povolení automatického škálování disku | true |
tags |
mapa | Uživatelem definované značky pro cluster (nezahrnuje výchozí značky). | {"ResourceClass":"SingleNode"} |
cluster_source |
řetězec | Zdroj clusteru Hodnoty UI nebo API se vztahují pouze na univerzální výpočetní prostředky. Všechny výpočty úlohy jsou protokolovány jako JOB. Potrubí jsou PIPELINE nebo PIPELINE_MAINTENANCE. |
UI |
init_scripts |
pole | Sada cest pro inicializační skripty | "/Users/example@email.com/files/scripts/install-python-pacakges.sh" |
aws_attributes |
struktura | Konkrétní nastavení AWS. | null |
azure_attributes |
struktura | Nastavení specifická pro Azure. | {"first_on_demand": "0","availability": "ON_DEMAND_AZURE","spot_bid_max_price": "—1"} |
gcp_attributes |
struktura | Nastavení specifické pro GCP. Toto pole bude prázdné. | null |
driver_instance_pool_id |
řetězec | ID fondu instancí, pokud je ovladač nakonfigurovaný nad fondem instancí. | 1107-555555-crhod16-pool-DIdnjazB |
worker_instance_pool_id |
řetězec | ID fondu instancí, pokud je pracovník nakonfigurován na vrcholu fondu instancí. | 1107-555555-crhod16-pool-DIdnjazB |
dbr_version |
řetězec | Databricks Runtime u daného clusteru. | 14.x-snapshot-scala2.12 |
change_time |
časové razítko | Časové razítko změny výpočetní definice | 2023-01-09 11:00:00.000 |
change_date |
datum | Změnit datum. Používá se k uchovávání. | 2023-01-09 |
data_security_mode |
řetězec | Režim přístupu výpočetního prostředku. Viz referenční informace k režimu accessu. | USER_ISOLATION |
policy_id |
řetězec | ID výpočetních zásad clusteru, pokud je to možné. | 1234F35636110A5B |
Referenční informace k režimu přístupu
Následující tabulka překládá možné hodnoty obsažené ve sloupci data_security_mode . Sloupec může být null také pro určité kanály a clustery vytvořené systémem.
| Hodnota | Režim přístupu |
|---|---|
USER_ISOLATION |
Standard |
SINGLE_USER |
Dedicated |
Starší režimy přístupu se zaznamenávají s následujícími hodnotami:
| Hodnota | Režim přístupu |
|---|---|
LEGACY_PASSTHROUGH |
Sdílené předávání přihlašovacích údajů |
LEGACY_SINGLE_USER |
Předávání přihlašovacích údajů (jeden uživatel) |
LEGACY_TABLE_ACL |
Na zakázku |
NONE |
Žádná sdílená izolace |
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í v system.compute.node_types.
| Název sloupce | Datový typ | Popis | Příklad |
|---|---|---|---|
account_id |
řetězec | ID účtu, ve kterém byl tento cluster vytvořen. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
node_type |
řetězec | Jedinečný identifikátor pro typ uzlu. | Standard_D16s_v3 |
core_count |
dvojitý | Počet virtuálních procesorů instance | 48.0 |
memory_mb |
dlouhý | Celková paměť pro instanci. | 393216 |
gpu_count |
dlouhý | Počet grafických procesorů pro instanci | 0 |
Schéma tabulky časového průběhu uzlu
Tabulka časové osy uzlu zachycuje data o využití prostředků na úrovni uzlu v minutovém rozlišení. Každý záznam obsahuje data za danou minutu času na instanci. Tato tabulka zaznamenává časové osy uzlů pro výpočetní prostředky pro všestranné použití, výpočetní prostředky pro úlohy, deklarativní kanály Lakeflow Spark a výpočetní prostředky údržby kanálů ve vašem účtu.
cesta k tabulce: Tato systémová tabulka se nachází v system.compute.node_timeline.
| Název sloupce | Datový typ | Popis | Příklad |
|---|---|---|---|
account_id |
řetězec | ID účtu, na kterém je tento výpočetní prostředek spuštěný. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
řetězec | ID pracovního prostoru, na kterém je tento výpočetní prostředek spuštěný. | 1234567890123456 |
cluster_id |
řetězec | ID výpočetního prostředku. | 0000-123456-crmpt124 |
instance_id |
řetězec | 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 |
booleovský | Určuje, zda je instance ovladačem nebo pracovním uzlem. | true |
cpu_user_percent |
dvojitý | Procento času, které procesor strávil v uživatelském prostoru | 34.76163817234407 |
cpu_system_percent |
dvojitý | Procento času stráveného procesorem v jádru | 1.0895310279488264 |
cpu_wait_percent |
dvojitý | Procento času stráveného čekáním na vstupně-výstupní operace procesoru | 0.03445157400629276 |
mem_used_percent |
dvojitý | 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 |
dvojitý | Procento využití paměti přičítané odkládací 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 |
mapa | 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 |
řetězec | Název typu uzlu. Odpovídá názvu typu instance od poskytovatele cloudu. | Standard_D16s_v3 |
private_ip |
řetězec | Privátní IP adresa přiřazená uzlu. | 10.0.0.42 |
Schéma tabulky událostí instancí
Important
Tato systémová tabulka je ve verzi Public Preview.
Tabulka událostí instance zachycuje přechody stavu klasických výpočetních instancí. Každý řádek představuje změnu stavu pro jednu instanci. Tato tabulka obsahuje záznamy pro výpočetní prostředky, úlohy a deklarativní kanály Lakeflow Sparku ze všech pracovních prostorů ve vašem účtu nasazené ve stejné cloudové oblasti.
cesta k tabulce: Tato systémová tabulka se nachází v system.compute.instance_events.
| Název sloupce | Datový typ | Popis | Příklad |
|---|---|---|---|
account_id |
řetězec | ID účtu, ve kterém je tato instance spuštěna. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
řetězec | ID pracovního prostoru, ve kterém je tato instance spuštěna. | 1234567890123456 |
instance_id |
řetězec | ID instance. | i-0a1b2c3d4e5f67890 |
event_time |
časové razítko | Časová značka události. | 2024-01-15 10:30:00.000 |
event_type |
řetězec | Typ události. Možné hodnoty jsou INSTANCE_LAUNCHING a STATE_TRANSITION. |
STATE_TRANSITION |
instance_pool_id |
řetězec | ID fondu instancí, pokud instance patří do fondu. | 1107-555555-pool-abcd1234 |
cluster_id |
řetězec | ID clusteru, na který je tato instance umístěná. Vyplní se pouze když state je INSTANCE_PLACED. Viz cluster_id podrobnosti. |
0000-123456-xxxxxxxx |
node_type |
řetězec | Název typu uzlu. Odpovídá názvu typu instance od poskytovatele cloudu. | Standard_D16s_v3 |
state |
řetězec | Stav instance Viz Stavy instancí. | INSTANCE_PLACED |
availability_type |
řetězec | Typ dostupnosti instance. Možné hodnoty jsou ON_DEMAND a SPOT (AWS, Azure) nebo ON_DEMAND a PREEMPTIBLE (GCP). |
ON_DEMAND |
Stavy instancí
-
INSTANCE_LAUNCHING: Instance se inicializuje. -
INSTANCE_READY: Instance je plně inicializovaná a připravená k použití, ale aktuálně se nepoužívá. -
INSTANCE_PLACED: Instance se právě používá (připojený ke clusteru). -
INSTANCE_TERMINATED: Instance je ukončena.
Kdy se cluster_id naplní?
Pole cluster_id se vyplní pouze v případě, že INSTANCE_PLACED je instance ve stavu. Pro všechny ostatní státy (INSTANCE_LAUNCHING, INSTANCE_READY, INSTANCE_TERMINATED), cluster_id je null. Toto chování je konzistentní pro instance ve fondu i bez fondu.
Tabulka instance_events obsahuje pouze události umístění pro výpočetní prostředky deklarativních kanálů Sparku pro všechny účely, úlohy a deklarativní kanály Lakeflow. Události umístění pro jiné úlohy, jako jsou sql warehouse, nejsou zahrnuty v této tabulce.
Schéma tabulek fondů instancí
Important
Tato systémová tabulka je ve verzi Public Preview.
Tabulka fondů instancí je pomalá tabulka dimenzí, která obsahuje úplnou historii konfigurací fondu instancí v průběhu času. Když se konfigurace změní, vygeneruje se nový řádek a logicky nahradí předchozí řádek.
cesta k tabulce: Tato systémová tabulka se nachází v system.compute.instance_pools.
| Název sloupce | Datový typ | Popis | Příklad |
|---|---|---|---|
account_id |
řetězec | ID účtu, ve kterém byl tento fond instancí vytvořen. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
řetězec | ID pracovního prostoru, ve kterém byl tento fond instancí vytvořen. | 1234567890123456 |
instance_pool_id |
řetězec | ID fondu instancí. | 1107-555555-pool-abcd1234 |
change_time |
časové razítko | Časové razítko změny konfigurace fondu instancí | 2024-01-15 10:30:00.000 |
create_time |
časové razítko | Časové razítko vytvoření fondu instancí | 2024-01-10 08:00:00.000 |
delete_time |
časové razítko | Časové razítko odstranění fondu instancí Hodnota je null , pokud fond instancí není odstraněn. |
null |
instance_pool_name |
řetězec | Uživatelem definovaný název fondu instancí. | My instance pool |
tags |
mapa | Uživatelem definované značky pro fond instancí (neobsahují výchozí značky). | {"team":"data-engineering"} |
node_type |
řetězec | Typ uzlu používaný pro instance ve fondu. Odpovídá názvu typu instance od poskytovatele cloudu. | Standard_D16s_v3 |
idle_instance_autotermination_minutes |
bigint | Počet minut, po které jsou nečinné instance v mezipaměti fondu automaticky ukončeny po jejich nečinnosti. | 120 |
min_idle_instances |
bigint | Minimální počet nečinných instancí k udržení v poolu instancí. | 2 |
max_capacity |
bigint | Maximální počet nevyřízených instancí, které mají být ve fondu zachovány, včetně obou instancí používaných clustery a nečinných instancí. | 10 |
enable_elastic_disk |
booleovský | Automatické škálování místního úložiště: Pokud je povoleno, instance v tomto fondu dynamicky získávají další místo na disku, když pracovní procesy Sparku běží málo místa na disku. | true |
disk_spec |
struktura | Specifikace disků, které jsou připojené ke všem kontejnerům Sparku. | {"disk_type": "PREMIUM_LRS","disk_count": 2,"disk_size": 100} |
preloaded_docker_images |
pole | Vlastní image Dockeru předem načtené do fondu | [] |
preloaded_spark_version |
řetězec | Předinstalovaná verze image Sparku pro fond, pokud je definovaná. | 14.3.x-scala2.12 |
aws_attributes |
struktura | Atributy související s fondy instancí spuštěnými v AWS | null |
azure_attributes |
struktura | Atributy související s fondy instancí běžícími na Azure | {"availability": "ON_DEMAND_AZURE","spot_bid_max_price": -1} |
gcp_attributes |
struktura | Atributy související s fondy instancí spuštěnými v GCP | null |
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 tomu, že sloučení z tabulky
system.billing.usageneodpovídají záznamům v tabulce clusterů. Všechny aktivní výpočetní prostředky byly znovu vyplněny. - Tyto tabulky obsahují jen záznamy pro výpočty zaměřené na všeobecné účely a úlohy. Neobsahují záznamy pro výpočetní prostředky bez serveru ani pro sql warehouse.
- Uzly, které běžely méně než 10 minut, se v tabulce
node_timelinenemusí 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
- 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
- Získání nejnovější verze každého fondu instancí
- Výpočet nečinnosti instance a aktivního času
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 regionálně křížové a záznamy clusteru jsou specifické pro danou oblast, odpovídají fakturační záznamy záznamům clusteru pouze pro oblast, na kterou se 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 na nejaktuálnější fakturační období, vezmou nejnovější aktualizace fakturačních záznamů, aby se připojily 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 přiřadí správnému vlastníkovi podle toho, kdy byl cluster používán.
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;
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;
Získání nejnovější verze každého fondu instancí
Tabulka instance_pools je typu SCD2, kde místo aktualizace existujících záznamů se při každé změně vytvoří nový záznam. Pokud chcete získat nejnovější verzi, vezměte položku s největším change_time.
SELECT *
FROM system.compute.instance_pools
QUALIFY row_number() OVER (
PARTITION BY workspace_id, instance_pool_id
ORDER BY change_time DESC
) = 1;
Výpočet nečinnosti instance a aktivního času
Tento dotaz vypočítá celkovou dobu nečinnosti a aktivní čas pro každou instanci pomocí přechodů stavu z instance_events tabulky.
WITH instance_states AS (
SELECT
*,
event_time AS start_time,
lead(event_time) OVER (
PARTITION BY workspace_id, instance_id
ORDER BY event_time
) AS end_time
FROM system.compute.instance_events
WHERE event_type IN ('INSTANCE_LAUNCHING', 'STATE_TRANSITION')
)
SELECT
workspace_id,
instance_id,
instance_pool_id,
sum(if(state = 'INSTANCE_READY',
TIMESTAMPDIFF(SECOND, start_time, end_time), 0)) / 60 AS idle_minutes,
sum(if(state = 'INSTANCE_PLACED',
TIMESTAMPDIFF(SECOND, start_time, end_time), 0)) / 60 AS active_minutes
FROM instance_states
GROUP BY workspace_id, instance_id, instance_pool_id;