Monitorování využití pomocí systémových tabulek
Tento článek vysvětluje koncept systémových tabulek v Azure Databricks a zvýrazňuje prostředky, které můžete použít k využití dat systémových tabulek na maximum.
Co jsou systémové tabulky?
Systémové tabulky jsou analytické úložiště hostované službou Azure Databricks provozních dat vašeho účtu nalezených system
v katalogu. Systémové tabulky se dají použít pro historickou pozorovatelnost v rámci vašeho účtu.
Poznámka:
Dokumentaci naleznete system.information_schema
v tématu Informační schéma.
Požadavky
Pokud chcete získat přístup k systémovým tabulkám, musí být váš pracovní prostor povolený pro katalog Unity. Další informace naleznete v tématu Povolení schémat systémových tabulek.
Systémové tabulky nejsou dostupné v následujících oblastech:
- Oblasti Azure Čína
- Oblasti Azure Government
- Západ Indie
- Švýcarsko – západ
Které systémové tabulky jsou k dispozici?
Azure Databricks v současné době hostuje následující systémové tabulky:
Table | Popis | Location | Podporuje streamování. | Období bezplatného uchovávání | Zahrnuje globální nebo regionální data. |
---|---|---|---|---|---|
Protokoly auditu (Public Preview) | Zahrnuje záznamy pro všechny události auditu z pracovních prostorů ve vaší oblasti. Seznam dostupných událostí auditu najdete v referenčních informacích k diagnostickým protokolům. | system.access.audit |
Ano | 365 dní | Regionální pro události na úrovni pracovního prostoru. Globální pro události na úrovni účtu. |
Rodokmen tabulky (Public Preview) | Obsahuje záznam pro každou událost čtení nebo zápisu v tabulce nebo cestě katalogu Unity. | system.access.table_lineage |
Ano | 365 dní | Regionální |
Rodokmen sloupců (Public Preview) | Obsahuje záznam pro každou událost čtení nebo zápisu ve sloupci katalogu Unity (ale neobsahuje události, které nemají zdroj). | system.access.column_lineage |
Ano | 365 dní | Regionální |
Fakturovatelné využití | Zahrnuje záznamy pro veškeré fakturovatelné využití v rámci vašeho účtu. Každý záznam o využití je hodinová agregace fakturovatelného využití prostředku. | system.billing.usage |
Ano | 365 dní | Globální |
Ceny | Historický protokol cen skladové položky. Záznam se přidá pokaždé, když dojde ke změně ceny skladové položky. | system.billing.list_prices |
No | Bez omezení | Globální |
Clustery (Public Preview) | Pomalu se měnící tabulka dimenzí, která obsahuje úplnou historii konfigurací výpočetních prostředků v průběhu času pro jakýkoli cluster. | system.compute.clusters |
Yes | – | Regionální |
Časová osa uzlu (Public Preview) | Zachycuje metriky využití výpočetních prostředků pro všechny účely a úlohy. | system.compute.node_timeline |
Ano | 30 dní | Regionální |
Typy uzlů (Public Preview) | Zaznamenává aktuálně dostupné typy uzlů pomocí základních informací o hardwaru. | system.compute.node_types |
No | – | Regionální |
Události SQL Warehouse (Public Preview) | Zaznamenává události související se sklady SQL. Například spuštění, zastavení, spuštění, vertikální navýšení nebo snížení kapacity. | system.compute.warehouse_events |
Ano | 365 dní | Regionální |
Úlohy (Public Preview) | Sleduje všechny úlohy vytvořené v účtu. | system.lakeflow.jobs |
Ano | 365 dní | Regionální |
Úlohy úlohy (Public Preview) | Sleduje všechny úlohy úlohy, které běží v účtu. | system.lakeflow.job_tasks |
Ano | 365 dní | Regionální |
Časová osa spuštění úlohy (Public Preview) | Sleduje časy spuštění a ukončení úlohy. | system.lakeflow. job_run_timeline |
Ano | 365 dní | Regionální |
Časová osa úkolu úlohy (Public Preview) | Sleduje počáteční a koncové časy a výpočetní prostředky používané pro spuštění úloh. | system.lakeflow. job_task_run_timeline |
Ano | 365 dní | Regionální |
Události trychtýře Marketplace (Public Preview) | Zahrnuje dojmy uživatelů a trychtýřová data pro vaše výpisy. | system.marketplace.listing_ funnel_events |
Ano | 365 dní | Regionální |
Přístup k výpisu z Marketplace (Public Preview) | Zahrnuje informace o spotřebiteli pro dokončená data žádosti nebo získání datových událostí ve vašich výpisech. | system.marketplace.listing_ access_events |
Ano | 365 dní | Regionální |
Prediktivní optimalizace (Public Preview) | Sleduje historii operací funkce prediktivní optimalizace. | system.storage.predictive_ optimization_operations_history |
No | 180 dní | Regionální |
Události Databricks Assistantu (Public Preview) | Sleduje zprávy uživatelů odeslané asistentovi Databricks. | system.access.assistant_events |
No | 365 dní | Regionální |
Historie dotazů (Public Preview) | Zaznamenává záznamy pro všechny dotazy spuštěné ve službě SQL Warehouse. | system.query.history |
Ano | 90 dní | Regionální |
Události čisté místnosti (Public Preview) | Zaznamenává události související s čistými místnostmi. | system.access.clean_room_events |
Ano | 365 dní | Regionální |
Model obsluhující využití koncových bodů (Public Preview) | Zaznamenává počty tokenů pro každý požadavek na koncový bod obsluhující model a jeho odpovědi. | system.serving.endpoint_usage |
Ano | 90 dní | Regionální |
Model obsluhující data koncových bodů (Public Preview) | Pomalu se měnící tabulka dimenzí, která ukládá metadata pro každý obsluha externího modelu v koncovém bodu obsluhy modelu. | system.serving.served_entities |
Ano | 365 dní | Regionální |
Fakturovatelné tabulky využití a cen se dají používat zdarma. Tabulky ve verzi Public Preview se také můžou používat během verze Preview, ale v budoucnu se vám můžou účtovat poplatky.
Poznámka:
Kromě výše uvedených systémových tabulek se ve vašem účtu můžou zobrazit i jiné systémové tabulky. Tyto tabulky jsou aktuálně ve verzi Private Preview a ve výchozím nastavení jsou prázdné. Pokud chcete použít některou z těchto tabulek, obraťte se prosím na svůj tým účtů Databricks.
Povolení schémat systémových tabulek
Vzhledem k tomu, že systémové tabulky se řídí katalogem Unity, musíte mít v účtu alespoň jeden pracovní prostor s podporou katalogu Unity, abyste povolili systémové tabulky a měli k němu přístup. Systémové tabulky zahrnují data ze všech pracovních prostorů ve vašem účtu, ale dají se k nim přistupovat jenom z pracovního prostoru s podporou katalogu Unity.
Systémové tabulky jsou povolené na úrovni schématu. Pokud povolíte systémové schéma, povolíte všechny tabulky v rámci daného schématu. Po vydání nových schémat musí správce účtu schéma povolit ručně.
Systémové tabulky musí povolit správce účtu. Systémové tabulky můžete povolit pomocí rozhraní SystemSchemas API.
Poznámka:
Schéma billing
je ve výchozím nastavení povolené. Ostatní schémata musí být povolena ručně.
Výpis dostupných systémových schémat
Pomocí následujícího příkazu curl zobrazte seznam dostupných systémových schémat:
curl -v -X GET -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas"
Následuje příklad výstupu GET
příkazu:
{"schemas":[{"schema":"access","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"billing","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"information_schema","state":"<AVAILABLE OR EnableCompleted>"}]}
state: AVAILABLE
: Systémové schéma je k dispozici, ale dosud nebylo povoleno.
state: EnableCompleted
: Povolili jste systémové schéma a je viditelné v Průzkumníku katalogu.
Povolení systémového schématu
K zapnutí systémového schématu použijte následující příkaz curl:
curl -v -X PUT -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"
Pokud je schéma systému úspěšně povolené, vrátí se kód 200
výsledku.
Pokud se pokusíte znovu povolit systémové schéma, vrátí se následující: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists"
.
Zakázání systémového schématu
K zakázání systémového schématu použijte následující příkaz curl:
curl -v -X DELETE -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"
Udělení přístupu k systémovým tabulkám
Přístup k systémovým tabulkám se řídí katalogem Unity. K těmto systémovým schématům ve výchozím nastavení nemá přístup žádní uživatelé. Pokud chcete udělit přístup, musí uživatel, který je správcem metastoru i správcem účtu, udělit USE
a SELECT
udělit oprávnění ke schématům systému. Viz Správa oprávnění v katalogu Unity.
Systémové tabulky jsou jen pro čtení a nelze je upravovat.
Poznámka:
Pokud byl váš účet vytvořen po 9. listopadu 2023, možná ve výchozím nastavení nemáte správce metastoru. Další informace najdete v tématu Nastavení a správa katalogu Unity.
Obsahují systémové tabulky data pro všechny pracovní prostory ve vašem účtu?
Systémové tabulky obsahují provozní data pro všechny pracovní prostory ve vašem účtu nasazených ve stejné cloudové oblasti. Tabulky fakturačního systému obsahují data pro celý účet.
I když k systémovým tabulkám lze přistupovat pouze prostřednictvím pracovního prostoru Katalogu Unity, tabulky také obsahují provozní data pro pracovní prostory jiného než Unity Catalog ve vašem účtu.
Kde jsou uložená data systémových tabulek?
Data systémových tabulek vašeho účtu se ukládají do účtu úložiště hostovaného v Azure Databricks ve stejné oblasti jako metastore. Data se s vámi bezpečně sdílí pomocí rozdílového sdílení.
Každá tabulka má volnou dobu uchovávání dat. Informace o prodloužení doby uchovávání získáte od týmu účtu Azure Databricks.
Kde jsou systémové tabulky umístěné v Průzkumníku katalogu?
Systémové tabulky ve vašem účtu se nacházejí v katalogu s názvem system
, který je součástí každého metastoru katalogu Unity. system
V katalogu uvidíte schémata, jako access
jsou systémové tabulky.billing
Důležité informace o systémových tabulkách streamování
Azure Databricks používá funkci Delta Sharing ke sdílení dat systémových tabulek se zákazníky. Při streamování pomocí rozdílového sdílení mějte na paměti následující aspekty:
- Pokud používáte streamování se systémovými tabulkami, nastavte možnost
skipChangeCommits
natrue
hodnotu . Tím se zajistí, že úloha streamování nebude narušena odstraněním v systémových tabulkách. Viz Ignorovat aktualizace a odstranění. Trigger.AvailableNow
není podporováno streamováním rozdílového sdílení. Převede se naTrigger.Once
.
Pokud ve své úloze streamování použijete trigger a zjistíte, že se nedotkává nejnovější verze systémové tabulky, doporučuje Databricks zvýšit naplánovanou frekvenci úlohy.
Čtení přírůstkových změn ze streamovaných systémových tabulek
spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")
Známé problémy
V současné době není podpora pro monitorování v reálném čase. Data se aktualizují v průběhu dne. Pokud se protokol nedávné události nezobrazuje, zkuste to později.
Pokud chcete povolit systémové tabulky, možná budete muset udělit síťový přístup ke koncovému bodu úložiště objektů blob systémových tabulek. Pokud chcete zobrazit seznam koncového bodu úložiště systémových tabulek každé oblasti, přečtěte si téma IP adresy koncového bodu úložiště.
Systémová schémata
system.operational_data
asystem.lineage
jsou zastaralá a budou obsahovat prázdné tabulky.Schéma
__internal_logging
systémové tabulky se používá k podpoře protokolování datové části pomocí odvozovacích tabulek. Toto schéma je viditelné správcům účtů, ale nelze ho povolit a nemělo by se používat pro pracovní postupy zákazníků.