Udostępnij za pośrednictwem


Monitorowanie użycia za pomocą tabel systemowych

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej. Obecnie nie ma żadnych opłat za korzystanie z tej funkcji. W przyszłości niektóre z tych użycia mogą spowodować naliczanie opłat.

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 magazyn analityczny hostowany w usłudze Azure Databricks danych operacyjnych konta znajdujących się w wykazie system . Tabele systemowe mogą służyć do obserwacji historycznej na koncie.

Uwaga

Aby uzyskać dokumentację dotyczącą system.information_schemaprogramu , zobacz Schemat informacji.

Wymagania

  • Aby uzyskać dostęp do tabel systemowych, obszar roboczy musi być włączony dla wykazu aparatu Unity. 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 tabele systemowe dla:

Table opis Lokalizacja Obsługuje przesyłanie strumieniowe Okres przetrzymywania Uwzględnianie danych globalnych lub regionalnych
Dzienniki inspekcji Zawiera rekordy dla wszystkich zdarzeń inspekcji z obszarów roboczych w Twoim regionie. Aby uzyskać listę dostępnych zdarzeń inspekcji, zobacz Dokumentacja dziennika diagnostycznego. system.access.audit Tak 365 dni Regionalny dla zdarzeń na poziomie obszaru roboczego. Globalne dla zdarzeń na poziomie konta.
Pochodzenie tabeli Zawiera rekord dla każdego zdarzenia odczytu lub zapisu w tabeli lub ścieżce wykazu aparatu Unity. system.access.table_lineage Tak 365 dni Regionalne
Pochodzenie kolumn Zawiera rekord dla każdego zdarzenia odczytu lub zapisu w kolumnie wykazu aparatu Unity (ale nie zawiera zdarzeń, które nie mają źródła). system.access.column_lineage Tak 365 dni Regionalne
Rozliczane użycie Zawiera rekordy dotyczące wszystkich rozliczanych użycia na koncie. Każdy rekord użycia to agregacja godzinowa rozliczanego użycia zasobu. 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. Nie dotyczy Globalnie
Klastry Wolno zmieniająca się tabela wymiarów zawierająca pełną historię konfiguracji klastra w czasie dla dowolnego klastra. system.compute.clusters Tak None Regionalne
Typy węzłów Przechwytuje obecnie dostępne typy węzłów przy użyciu podstawowych informacji o sprzęcie. system.compute.node_types Nie. Nie dotyczy Regionalne
Zdarzenia usługi SQL Warehouse 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
Zdarzenia lejka w witrynie Marketplace 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 Zawiera informacje o użytkownikach dotyczące ukończonych danych żądania lub pobieranie zdarzeń danych na listach. system.marketplace.listing_

access_events
Tak 365 dni Regionalne
Optymalizacja predykcyjna Śledzi historię operacji funkcji optymalizacji predykcyjnej. system.storage.predictive_

optimization_operations_history
Nie. 180 dni Regionalne

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 wykaz aparatu Unity, musisz mieć co najmniej jeden obszar roboczy z obsługą wykazu aparatu Unity na koncie, aby włączyć tabele systemowe i uzyskiwać do nich dostęp. Tabele systemowe zawierają dane ze wszystkich obszarów roboczych na twoim koncie, ale mogą być dostępne tylko z obszaru roboczego z obsługą wykazu aparatu Unity.

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 interfejsu API SystemSchemas.

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łączono schemat systemu i jest on widoczny w Eksploratorze wykazu.

Włączanie schematu systemowego

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 jest włączony pomyślnie, zwracany jest kod 200 wyniku.

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 tabeli systemu podlega katalogowi aparatu Unity. Domyślnie żaden użytkownik nie ma dostępu do tabel systemowych. Aby udzielić dostępu, administrator magazynu metadanych lub inny uprzywilejowany użytkownik musi przyznać USE schematy systemowe i SELECT uprawnienia. Zobacz Zarządzanie uprawnieniami w wykazie aparatu Unity.

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 wykazu aparatu Unity i zarządzanie nim.

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

Tabele dziennika inspekcji i pochodzenia zawierają dane operacyjne dla wszystkich obszarów roboczych na koncie wdrożonym w tym samym regionie chmury. Tabela systemu rozliczeniowego (system.billing.usage) zawiera dane dla wszystkich obszarów roboczych na twoim koncie, niezależnie od regionu, w którym zostały wdrożone.

Mimo że dostęp do tabel systemowych można uzyskać tylko za pośrednictwem obszaru roboczego wykazu aparatu Unity, tabele zawierają również dane operacyjne dla obszarów roboczych wykazu nienależących do aparatu Unity na twoim koncie.

Gdzie znajdują się tabele systemowe?

Tabele systemowe na twoim koncie znajdują się w wykazie o nazwie system, który znajduje się w każdym magazynie metadanych wykazu aparatu Unity. W wykazie system zostaną wyświetlone schematy, takie jak access i billing zawierające tabele systemowe.

Uwaga

W przypadku tabel systemowych w publicznej wersji zapoznawczej usługa Azure Databricks zachowa wszystkie dane tabel systemowych.

Zagadnienia dotyczące tabel systemowych przesyłania strumieniowego

Dostęp do tabel systemowych jest obsługiwany przez udostępnianie różnicowe. 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 skipChangeCommit opcję na true. Dzięki temu zadanie przesyłania strumieniowego nie zostanie przerwane z usuwania 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 przesyłania strumieniowego i okaże się, że zadanie nie nadrabia zaległości do najnowszej wersji tabeli systemowej, usługa Databricks zaleca zwiększenie zaplanowanej częstotliwości zadania.

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.

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

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