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.
Important
Tato systémová tabulka je ve verzi Public Preview.
Tento článek obsahuje informace o systémové tabulce historie dotazů včetně přehledu schématu tabulky.
cesta k tabulce: Tato systémová tabulka se nachází v system.query.history.
Použití tabulky historie dotazů
Tabulka historie dotazů obsahuje záznamy pro dotazy spuštěné pomocí SQL Warehouse nebo bezserverových výpočtů pro poznámkové bloky a úlohy . Tabulka obsahuje záznamy pro celý účet ze všech pracovních prostorů ve stejné oblasti, ze které přistupujete k tabulce.
Ve výchozím nastavení mají k systémové tabulce přístup jenom správci. Pokud chcete data tabulky sdílet s uživatelem nebo skupinou, doporučuje Databricks vytvořit dynamické zobrazení pro každého uživatele nebo skupinu. Viz Vytvoření dynamického zobrazení.
Schéma systémové tabulky historie dotazů
Tabulka historie dotazů používá následující schéma:
| Název sloupce | Datový typ | Description | Example |
|---|---|---|---|
account_id |
řetězec | ID účtu. | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
řetězec | ID pracovního prostoru, ve kterém byl dotaz spuštěn. | 1234567890123456 |
statement_id |
řetězec | ID, které jednoznačně identifikuje provádění příkazu. Tento identifikátor můžete použít k vyhledání provedení příkazu v Query History UI. | 7a99b43c-b46c-432b-b0a7-814217701909 |
session_id |
řetězec | ID relace Sparku. | 01234567-cr06-a2mp-t0nd-a14ecfb5a9c2 |
execution_status |
řetězec | Stav ukončení výroku. Možné hodnoty:
|
FINISHED |
compute |
struktura | Struktura, která představuje typ výpočetního prostředku použitého ke spuštění příkazu a ID prostředku, pokud je to možné. Hodnota type bude buď WAREHOUSE nebo SERVERLESS_COMPUTE. |
{type: WAREHOUSE,cluster_id: NULL,warehouse_id: ec58ee3772e8d305} |
executed_by_user_id |
řetězec | ID uživatele, který příkaz spustil. | 2967555311742259 |
executed_by |
řetězec | E-mailová adresa nebo uživatelské jméno uživatele, který příkaz spustil. | example@databricks.com |
statement_text |
řetězec | Text příkazu SQL Pokud jste nakonfigurovali klíče spravované zákazníkem, statement_text je prázdné. Kvůli omezením úložiště se komprimují delší textové hodnoty příkazů. I při kompresi můžete dosáhnout limitu znaků. |
SELECT 1 |
statement_type |
řetězec | Typ výroku. Například: ALTER, COPYa INSERT. |
SELECT |
error_message |
řetězec | Zpráva popisující chybový stav Pokud jste nakonfigurovali klíče spravované zákazníkem, error_message je prázdné. |
[INSUFFICIENT_PERMISSIONS] Insufficient privileges: User does not have permission SELECT on table 'default.nyctaxi_trips'. |
client_application |
řetězec | Klientská aplikace, která příkaz spustila. Příklad: Editor SQL Databricks, Tableau a Power BI. Toto pole je odvozeno z informací poskytovaných klientskými aplikacemi. I když se očekává, že hodnoty budou v průběhu času statické, nelze zaručit. | Databricks SQL Editor |
client_driver |
řetězec | Konektor použitý pro připojení k Databricks pro spuštění příkazu. Příklad: Databricks SQL ovladač pro Go, Databricks ODBC ovladač, Databricks JDBC ovladač. | Databricks JDBC Driver |
cache_origin_statement_id |
řetězec | Pro výsledky dotazu načtené z mezipaměti obsahuje toto pole ID příkazu dotazu, který původně vložil výsledek do mezipaměti. Pokud se výsledek dotazu nenačte z mezipaměti, obsahuje toto pole vlastní ID příkazu dotazu. | 01f034de-5e17-162d-a176-1f319b12707b |
total_duration_ms |
bigint | Celková doba provádění příkazu v milisekundách (s výjimkou doby načítání výsledku). | 1 |
waiting_for_compute_duration_ms |
bigint | Doba strávená čekáním na zřízení výpočetních prostředků v milisekundách | 1 |
waiting_at_capacity_duration_ms |
bigint | Čas strávený čekáním ve frontě na dostupnou výpočetní kapacitu v milisekundách | 1 |
execution_duration_ms |
bigint | Čas strávený prováděním příkazu v milisekundách | 1 |
compilation_duration_ms |
bigint | Čas strávený načítáním metadat a optimalizací příkazu v milisekundách | 1 |
total_task_duration_ms |
bigint | Součet všech dob trvání úkolů v milisekundách Tentokrát představuje kombinovaný čas, který trvalo spuštění dotazu napříč všemi jádry všech uzlů. Pokud se paralelně provádí více úkolů, může to být výrazně delší než doba trvání hodin. Pokud úkoly čekají na dostupné uzly, může být kratší než doba trvání na nástěnné hodiny. | 1 |
result_fetch_duration_ms |
bigint | Čas strávený načítáním výsledků příkazu v milisekundách po dokončení provádění. | 1 |
start_time |
časové razítko | Čas, kdy Databricks obdržel požadavek. Informace o časovém pásmu se zaznamenávají na konci hodnoty s +00:00 představujícím UTC. |
2022-12-05T00:00:00.000+0000 |
end_time |
časové razítko | Čas ukončení provádění příkazu s výjimkou času načtení výsledku. Informace o časovém pásmu se zaznamenávají na konci hodnoty s +00:00 představujícím UTC. |
2022-12-05T00:00:00.000+00:00 |
update_time |
časové razítko | Čas, kdy prohlášení naposledy obdrželo aktualizaci průběhu. Informace o časovém pásmu se zaznamenávají na konci hodnoty s +00:00 představujícím UTC. |
2022-12-05T00:00:00.000+00:00 |
read_partitions |
bigint | Počet částí přečtených po prořezání. | 1 |
pruned_files |
bigint | Počet vyříznutých souborů. | 1 |
read_files |
bigint | Počet souborů přečtených po vyřazení. | 1 |
read_rows |
bigint | Celkový počet řádků přečtených příkazem | 1 |
produced_rows |
bigint | Celkový počet řádků vrácených příkazem | 1 |
read_bytes |
bigint | Celková velikost dat přečtených příkazem v bajtech | 1 |
read_io_cache_percent |
int | Podíl bajtů perzistentních dat načtených z mezipaměti IO. | 50 |
from_result_cache |
boolean |
TRUE označuje, že výsledek příkazu byl načten z mezipaměti. |
TRUE |
spilled_local_bytes |
bigint | Velikost dat v bajtech se během provádění příkazu dočasně zapisuje na disk. | 1 |
written_bytes |
bigint | Velikost v bajtech trvalých dat zapsaných do cloudového úložiště objektů. | 1 |
written_rows |
bigint | Počet řádků trvalých dat zapsaných do cloudového úložiště objektů. | 1 |
written_files |
bigint | Počet souborů trvalých dat zapsaných do cloudového úložiště objektů | 1 |
shuffle_read_bytes |
bigint | Celkové množství dat v bajtech posílaných přes síť. | 1 |
query_source |
struktura | Struktura, která obsahuje páry klíč-hodnota představující entity Databricks, které byly zapojeny do provádění tohoto příkazu, jako jsou úlohy, poznámkové bloky nebo řídicí panely. Toto pole zaznamenává pouze entity Databricks. | {alert_id: 81191d77-184f-4c4e-9998-b6a4b5f4cef1,sql_query_id: null,dashboard_id: null,notebook_id: null,job_info: { job_id: 12781233243479, job_run_id: null, job_task_run_id: 110373910199121},legacy_dashboard_id: null,genie_space_id: null} |
query_parameters |
struktura | Struktura obsahující pojmenované a poziční parametry použité v parametrizovaných dotazech. Pojmenované parametry jsou reprezentovány jako páry klíč-hodnota, které mapují názvy parametrů na hodnoty. Poziční parametry jsou reprezentovány jako seznam, kde index označuje pozici parametru. Najednou může být přítomen pouze jeden typ (pojmenovaný nebo poziční). | {named_parameters: { "param-1": 1, "param-2": "hello"},pos_parameters: null,is_truncated: false} |
executed_as |
řetězec | Název uživatele nebo služby, jehož oprávnění bylo použito ke spuštění příkazu. | example@databricks.com |
executed_as_user_id |
řetězec | ID uživatele nebo služebního účtu, jehož oprávnění bylo použito ke spuštění příkazu. | 2967555311742259 |
query_tags |
map<string, string> |
Vlastní značky klíč-hodnota použité v dotazu pro seskupování, filtrování a přiřazení nákladů. Značky je možné nastavit pomocí parametrů konfigurace relace nebo příkazu SET QUERY_TAGS SQL. Značky jen pro klíč mají null hodnotu. Tento sloupec je naplněn pouze pro dotazy spuštěné ve službě SQL Warehouse. Viz značky dotazů. |
{"team": "engineering","cost_center": "701","env": "prod"} |
Čtení šifrovaných polí
Important
Tato funkce je ve verzi Public Preview.
Pokud pracovní prostory používají klíče spravované zákazníkem pro spravované služby, statement_texterror_message jsou pole v systémové tabulce ve výchozím nastavení šifrovaná. Důvodem je to, že systémové tabulky ukládají data z oblasti, ke které mají přístup všechny pracovní prostory. Aby mohli správci účtu dešifrovat a zobrazit zašifrovaná systémová pole, musí do samotného system katalogu přidat konfiguraci klíče. K provedení této operace musíte mít MANAGE oprávnění k system katalogu.
Výstraha
Přidání konfigurace klíče do system katalogu odebere všechny katalogy Unity, které jste dříve použili na system.query schéma a system.query.history tabulku, a resetuje je na výchozí udělení. Vzhledem k tomu, že granty jsou na úrovni metastoru, ovlivní to všechny pracovní prostory připojené k metastoru, včetně pracovních prostorů, ve kterých jste příkaz nespusili. Po povolení klíčů spravovaných zákazníkem znovu použijte jakékoli vlastní granty system.query a system.query.history.
Můžete buď vytvořit nový klíč , nebo znovu použít existující klíč. Pomocí celého ID klíče spusťte následující příkaz:
curl -v -X PATCH https://my-workspace-url/api/2.1/unity-catalog/catalogs/system -H 'Authorization: Bearer <pat token>' --data '{
"managed_encryption_settings": {
"azure_key_vault_key_id": "https://my-key-vault.vault.azure.net/keys/my-key-name/my-key-version",
"azure_encryption_settings": {
"azure_tenant_id": "my-tenant-id"
}
}
}'
Počkejte až 24 hodin system.query.history , než se začnou zobrazovat šifrovaná pole.
Poznámka:
Katalog system se pro každý metastor liší, takže klíč spravovaný zákazníkem musí být nakonfigurovaný samostatně pro každý metastor. Metastory ve stejné oblasti je však možné nakonfigurovat tak, aby používaly stejný klíč.
Zobrazení profilu dotazu pro záznam
Pokud chcete přejít na profil dotazu založený na záznamu v tabulce historie dotazů, postupujte takto:
- Identifikujte požadovaný záznam; poté zkopírujte záznam
statement_id. - Odkazuje na identifikátor
workspace_idzáznamu, abyste se ujistili, že jste přihlášeni do stejného pracovního prostoru jako tento záznam. - Klikněte na
Historie dotazů na bočním panelu pracovního prostoru
- Ve pole ID příkazu vložte záznam
statement_id. - Klikněte na název dotazu. Zobrazí se přehled metrik dotazů.
- Klikněte na Zobrazit profil dotazu.
Pochopení sloupce query_source
Sloupec query_source obsahuje sadu jedinečných identifikátorů Azure Databricks entit zapojených do provádění příkazu.
query_source Pokud sloupec obsahuje více ID, znamená to, že spuštění příkazu aktivovalo více entit. Například výsledek úlohy může aktivovat upozornění, které volá dotaz SQL. V tomto příkladu budou všechna tři ID vyplněna v rámci query_source. Hodnoty tohoto sloupce nejsou seřazené podle pořadí provádění.
Možné zdroje dotazů:
- alert_id: Příkaz aktivovaný z výstrahy
- sql_query_id: Příkaz spuštěný z této relace editoru SQL
- dashboard_id: Příkaz spuštěný z řídicího panelu
- genie_space_id: Příkaz spuštěný z agenta Genie
- notebook_id: Příkaz spuštěný z notebooku
- job_info.job_id: Příkaz spuštěný v rámci úlohy
- job_info.job_run_id: Příkaz spuštěn během běhu úlohy
- job_info.job_task_run_id: Příkaz spuštěný v rámci spuštění úlohy
Platné kombinace „query_source“
Následující příklady ukazují, jak query_source se sloupec naplní v závislosti na způsobu spuštění dotazu:
Dotazy spuštěné během spuštění úlohy zahrnují vyplněnou
job_infostrukturu:{alert_id: null,sql_query_id: null,dashboard_id: null,notebook_id: null,job_info: {job_id: 64361233243479,job_run_id: null,job_task_run_id: 110378410199121},legacy_dashboard_id: null,genie_space_id: null}Dotazy z výstrah zahrnují
sql_query_idaalert_id:{alert_id: e906c0c6-2bcc-473a-a5d7-f18b2aee6e34,sql_query_id: 7336ab80-1a3d-46d4-9c79-e27c45ce9a15,dashboard_id: null,notebook_id: null,job_info: null,legacy_dashboard_id: null,genie_space_id: null}Dotazy z řídicích panelů zahrnují
dashboard_id, ale nejob_info:{alert_id: null,sql_query_id: null,dashboard_id: 887406461287882,notebook_id: null,job_info: null,legacy_dashboard_id: null,genie_space_id: null}