Udostępnij za pośrednictwem


Monitorowanie aktywności konta przy użyciu tabel systemowych

W tym artykule wyjaśniono koncepcję tabel systemowych w usłudze Azure Databricks i wyróżniono zasoby, których można użyć, aby jak najlepiej wykorzystać dane tabel systemowych.

Co to są tabele systemowe?

Tabele systemowe to analityczny magazyn operacyjnych danych konta, hostowany w usłudze Azure Databricks, znajdujący się w katalogu system. Tabele systemowe mogą służyć do obserwacji historycznej na koncie.

Uwaga

Aby uzyskać dokumentację dotyczącą system.information_schema, zobacz Information schema.

Wymagania

  • Aby uzyskać dostęp do tabel systemowych, obszar roboczy musi być skonfigurowany do korzystania z Unity Catalog. Aby uzyskać więcej informacji, zobacz Włączanie schematów tabel systemowych.

  • Tabele systemowe nie są dostępne w następujących regionach:

    • Regiony Azure (Chiny)
    • Regiony Azure Government
    • Indie Zachodnie
    • Szwajcaria Zachodnia

Które tabele systemowe są dostępne?

Obecnie usługa Azure Databricks hostuje następujące tabele systemowe:

Stół opis Lokalizacja Obsługuje przesyłanie strumieniowe Okres bezpłatnego przechowywania Obejmuje dane globalne lub regionalne
Dzienniki inspekcji (publiczna wersja zapoznawcza) Zawiera rekordy dla wszystkich zdarzeń inspekcji z obszarów roboczych w Twoim regionie. Aby uzyskać listę dostępnych zdarzeń audytu, zobacz odwołanie do dziennika diagnostycznego. system.access.audit Tak 365 dni Regionalny dla zdarzeń na poziomie obszaru roboczego. Globalne dla zdarzeń na poziomie konta.
Pochodzenie Tabel (Wersja Testowa [Publiczna]) Zawiera rekord dla każdego zdarzenia odczytu lub zapisu w tabeli lub ścieżce katalogu Unity. system.access.table_lineage Tak 365 dni Regionalne
pochodzenia kolumn (publiczna wersja zapoznawcza) Zawiera rekord dla każdego zdarzenia odczytu lub zapisu w kolumnie Unity Catalog (ale pomija zdarzenia bez źródła). system.access.column_lineage Tak 365 dni Regionalne
Rozliczane użycie Zawiera rekordy dotyczące wszystkich rozliczanych użycia na koncie. system.billing.usage Tak 365 dni Globalnie
Cennik Historyczny dziennik cen jednostek SKU. Rekord jest dodawany za każdym razem, gdy następuje zmiana ceny jednostki SKU. system.billing.list_prices Nie. Nieograniczony Globalnie
Klastry (publiczna wersja zapoznawcza) Wolno zmieniająca się tabela wymiarów zawierająca pełną historię konfiguracji obliczeniowych w czasie dla dowolnego klastra. system.compute.clusters Tak 365 dni Regionalne
Oś czasu węzła (publiczna wersja zapoznawcza) Przechwytuje metryki wykorzystania zasobów obliczeniowych dla wszystkich celów i zadań. system.compute.node_timeline Tak 30 dni Regionalne
Typy węzłów (publiczna wersja zapoznawcza) Przechwytuje obecnie dostępne typy węzłów przy użyciu podstawowych informacji o sprzęcie. system.compute.node_types Nie. Nie dotyczy Regionalne
Magazyny SQL (publiczna wersja zapoznawcza) Zawiera pełną historię konfiguracji w czasie dla dowolnego magazynu SQL. system.compute.warehouses Tak 365 dni Regionalne
Zdarzenia usługi SQL Warehouse (publiczna wersja zapoznawcza) Przechwytuje zdarzenia związane z magazynami SQL. Na przykład uruchamianie, zatrzymywanie, uruchamianie, skalowanie w górę i w dół. system.compute.warehouse_events Tak 365 dni Regionalne
Zadania (publiczna wersja zapoznawcza) Śledzi wszystkie zadania utworzone na koncie. system.lakeflow.jobs Tak 365 dni Regionalne
Zadania zadania (publiczna wersja zapoznawcza) Śledzi wszystkie zadania podrzędne, które są uruchamiane na koncie. system.lakeflow.job_tasks Tak 365 dni Regionalne
Oś czasu uruchamiania zadania (publiczna wersja zapoznawcza) Śledzi czasy uruchamiania i zakończenia zadania. system.lakeflow.

job_run_timeline
Tak 365 dni Regionalne
Oś czasu zadania zadania (publiczna wersja zapoznawcza) Śledzi czas rozpoczęcia i zakończenia oraz zasoby obliczeniowe używane do uruchamiania zadań podrzędnych. system.lakeflow.

job_task_run_timeline
Tak 365 dni Regionalne
Zdarzenia lejka w witrynie Marketplace (publiczna wersja zapoznawcza) Obejmuje dane dotyczące wyświetleń i lejków dla Twoich list. system.marketplace.listing_

funnel_events
Tak 365 dni Regionalne
Dostęp do listy w witrynie Marketplace (publiczna wersja zapoznawcza) Zawiera informacje dla konsumentów dotyczące ukończonych danych żądania lub pobierania danych zdarzeń na twoich listach. system.marketplace.listing_

access_events
Tak 365 dni Regionalne
Optymalizacja predykcyjna (publiczna wersja zapoznawcza) Śledzi historię operacji funkcji optymalizacji predykcyjnej. system.storage.predictive_

optimization_operations_history
Nie. 180 dni Regionalne
Zdarzenia asystenta usługi Databricks (publiczna wersja zapoznawcza) Śledzi komunikaty użytkowników wysyłane do Asystenta usługi Databricks. system.access.assistant_events Nie. 365 dni Regionalne
Historia zapytań (publiczna wersja zapoznawcza) Przechwytuje rekordy wszystkich uruchamianych zapytań w magazynach SQL oraz obliczeniach bezserwerowych, dla notesów i zadań . system.query.history Nie. 90 dni Regionalne
Wydarzenia w pokoju czyste (publiczna wersja zapoznawcza) Przechwytuje zdarzenia związane z czystymi pokojami. system.access.clean_room_events Tak 365 dni Regionalne
Użycie punktu końcowego obsługującego model (publiczna wersja zapoznawcza) Przechwytuje liczbę tokenów dla każdego żądania do modelu obsługującego punkt końcowy i jego odpowiedzi. Aby przechwycić użycie punktu końcowego w tej tabeli, należy włączyć śledzenie użycia w serwerowym punkcie końcowym. system.serving.endpoint_usage. Tak 90 dni Regionalne
Model obsługujący dane punktu końcowego (publiczna wersja zapoznawcza) Wolno zmieniająca się tabela wymiarów, która przechowuje metadane dla każdego obsługiwanego modelu podstawowego w punkcie końcowym obsługującym model. system.serving.served_entities Tak 365 dni Regionalne
zdarzenia dostępu do sieci (publiczna wersja zapoznawcza) Tabela, która rejestruje zdarzenie za każdym razem, gdy dostęp do Internetu zostanie odrzucony z twojego konta. system.access.outbound_network Tak 365 dni Regionalne

Korzystanie z rozliczanych danych dotyczących użycia i tabel cenowych jest bezpłatne. Tabele w publicznej wersji zapoznawczej są również bezpłatne do użycia podczas korzystania z wersji zapoznawczej, ale w przyszłości mogą zostać naliczone opłaty.

Uwaga

Inne tabele systemowe mogą być widoczne na twoim koncie oprócz tych wymienionych powyżej. Te tabele są obecnie w prywatnej wersji zapoznawczej i są domyślnie puste. Jeśli interesuje Cię użycie dowolnej z tych tabel, skontaktuj się z zespołem ds. kont usługi Databricks.

Włączanie schematów tabel systemowych

Ponieważ tabele systemowe są zarządzane przez Unity Catalog, musisz mieć na koncie co najmniej jeden obszar roboczy z obsługą Unity Catalog, aby włączyć tabele systemowe i uzyskiwać do nich dostęp. Tabele systemowe zawierają dane ze wszystkich obszarów roboczych na twoim koncie, ale dostęp do nich jest możliwy tylko z obszaru roboczego z włączoną obsługą Unity Catalog.

Tabele systemowe są włączone na poziomie schematu. Jeśli włączysz schemat systemu, włączysz wszystkie tabele w tym schemacie. Po wydaniu nowych schematów administrator konta musi ręcznie włączyć schemat.

Tabele systemowe muszą być włączone przez administratora konta. Tabele systemowe można włączyć przy użyciu poleceń system-schemas w interfejsie wiersza polecenia usługi Databricks lub przy użyciu interfejsu API SystemSchemas.

Uwaga

Schemat billing jest domyślnie włączony. Inne schematy muszą być włączone ręcznie.

Wyświetlanie listy dostępnych schematów systemowych

Użyj następującego polecenia curl, aby wyświetlić listę dostępnych schematów systemowych:

curl -v -X GET -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas"

Poniżej przedstawiono przykładowe dane wyjściowe GET polecenia:

{"schemas":[{"schema":"access","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"billing","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"information_schema","state":"<AVAILABLE OR EnableCompleted>"}]}

state: AVAILABLE: schemat systemu jest dostępny, ale nie został jeszcze włączony.

state: EnableCompleted: Włączyłeś schemat systemu i jest on widoczny w Eksploratorze katalogu.

Włącz schemat systemowy

Użyj następującego polecenia curl, aby włączyć schemat systemu:

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>"

Jeśli schemat systemu został pomyślnie włączony, zostanie zwrócony kod wyniku 200.

W przypadku próby ponownego włączenia schematu systemu zwracane są następujące elementy: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists".

Wyłączanie schematu systemowego

Użyj następującego polecenia curl, aby wyłączyć schemat systemowy:

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>"

Udzielanie dostępu do tabel systemowych

Dostęp do tabel systemowych jest regulowany przez Unity Catalog. Żaden użytkownik nie ma domyślnie dostępu do tych schematów systemowych. Aby przyznać dostęp, użytkownik, który jest zarówno administratorem magazynu metadanych, jak i administratorem konta, musi przyznać uprawnienia USE i SELECT do schematów systemowych. Zobacz Zarządzanie uprawnieniami w Unity Catalog.

Tabele systemowe są tylko do odczytu i nie można ich modyfikować.

Uwaga

Jeśli twoje konto zostało utworzone po 9 listopada 2023 r., być może nie masz domyślnie administratora magazynu metadanych. Aby uzyskać więcej informacji, zobacz Konfigurowanie i zarządzanie Unity Catalog.

Czy tabele systemowe zawierają dane dla wszystkich obszarów roboczych na twoim koncie?

Tabele systemowe zawierają dane operacyjne dla wszystkich obszarów roboczych na koncie wdrożonym w tym samym regionie chmury. Tabele systemu rozliczeniowego zawierają dane dotyczące całego konta.

Mimo że dostęp do tabel systemowych można uzyskać tylko za pośrednictwem obszaru roboczego Katalogu Unity, tabele te zawierają również dane operacyjne dla obszarów roboczych niebędących częścią Katalogu Unity na twojego konta.

Gdzie są przechowywane dane tabeli systemowej?

Dane tabel systemowych Twojego konta są przechowywane na koncie magazynowym hostowanym przez Azure Databricks i znajdującym się w tym samym regionie co magazyn metadanych (metastore). Dane są bezpiecznie udostępniane Za pomocą funkcji udostępniania różnicowego.

Każda tabela ma bezpłatny okres przechowywania danych. Aby uzyskać informacje na temat rozszerzania okresu przechowywania, skontaktuj się z zespołem konta usługi Azure Databricks.

Gdzie znajdują się tabele systemowe w Eksploratorze wykazu?

Tabele systemowe na twoim koncie znajdują się w katalogu o nazwie system, który jest uwzględniony w każdym metasklepie katalogu Unity. W katalogu system zobaczysz schematy, takie jak access i billing zawierające tabele systemowe.

Zagadnienia dotyczące tabel systemowych przesyłania strumieniowego

Usługa Azure Databricks używa funkcji Delta Sharing do udostępniania danych tabeli systemowej klientom. Podczas przesyłania strumieniowego przy użyciu funkcji udostępniania różnicowego należy pamiętać o następujących kwestiach:

  • Jeśli używasz przesyłania strumieniowego z tabelami systemowymi, ustaw opcję skipChangeCommits na true. Dzięki temu zadanie przesyłania strumieniowego nie zostanie przerwane w wyniku usunięć w tabelach systemowych. Zobacz Ignorowanie aktualizacji i usuwanie.
  • Trigger.AvailableNow nie jest obsługiwana w przypadku przesyłania strumieniowego udostępniania różnicowego. Zostanie on przekonwertowany na Trigger.Once.

Jeśli używasz wyzwalacza w zadaniu strumieniowym i okaże się, że nie nadąża za najnowszą wersją tabeli systemowej, usługa Databricks zaleca zwiększenie częstotliwości wykonywania zadania.

Odczytywanie przyrostowych zmian z tabel systemowych przesyłania strumieniowego

spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")

Znane problemy

  • Obecnie nie ma obsługi monitorowania w czasie rzeczywistym. Dane są aktualizowane przez cały dzień. Jeśli nie widzisz dziennika dla ostatniego zdarzenia, sprawdź ponownie później.

  • Schemat tabeli systemu __internal_logging jest używany do obsługi logowania danych przy użyciu tabel inferencyjnych z obsługą bramy sztucznej inteligencji dla zewnętrznych modeli i obciążeń z aprowizowaną przepustowością. Ten schemat jest widoczny dla administratorów kont, ale nie można go włączyć i nie należy go używać w przypadku przepływów pracy klienta.

  • Aby włączyć tabele systemowe, może być konieczne przyznanie dostępu sieciowego do punktu końcowego magazynu obiektów blob w tabelach systemowych. Aby wyświetlić listę punktów końcowych magazynu dla tabel systemowych w każdym regionie, zobacz Adresy IP punktów końcowych magazynu.

  • Schematy systemowe system.operational_data i system.lineage są przestarzałe i będą zawierać puste tabele.