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_schema
programu , 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ę natrue
. 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 naTrigger.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 isystem.lineage
są przestarzałe i będą zawierać puste tabele.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla