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_schemav 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 na truehodnotu . 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 na Trigger.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 a system.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ů.