Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano, jak monitorować i wykonywać zapytania dotyczące danych odświeżania zmaterializowanego widoku w usłudze Databricks SQL.
Wyświetlanie szczegółów pojedynczego zmaterializowanego widoku
Szczegóły pojedynczego zmaterializowanego widoku można wyświetlić za pomocą Eksploratora wykazu lub programowo z operacją DESCRIBE EXTENDED . Możesz również wykonać zapytanie dotyczące dziennika zdarzeń, aby uzyskać szczegółowe informacje o historii odświeżania zmaterializowanego widoku.
Wyświetlanie szczegółów w Eksploratorze wykazu
Możesz uzyskać informacje o swoim zmaterializowanym widoku, przeglądając go w Eksploratorze katalogu. W Eksploratorze wykazu można zobaczyć stan ostatniego odświeżania i wszystkie harmonogramy odświeżania utworzone w programie SQL. Aby uzyskać szczegółowe informacje na temat harmonogramów utworzonych w języku SQL, zobacz CREATE MATERIALIZED VIEW.
Eksplorator Katalogu wyświetla szczegółowe informacje dotyczące każdego zmaterializowanego widoku w panelu po prawej stronie, w tym:
- Bieżący stan odświeżania i czas ostatniego uruchomienia. Aby wyświetlić więcej szczegółów na temat aktualizacji, w tym czasu trwania przebiegu, wszelkich szczegółowych błędów, a także typu odświeżania (w tym tego, czy zmaterializowany widok był w pełni lub odświeżany przyrostowo i dlaczego), kliknij przycisk Zobacz szczegóły odświeżania.
- Harmonogram odświeżania. Jeśli zmaterializowany widok ma ustawiony harmonogram za pośrednictwem języka SQL, zostanie wyświetlony harmonogram. Aby zaktualizować harmonogram, użyj polecenia ALTER MATERIALIZED VIEW.
- Tagi. Aby dodać tagi niestandardowe, kliknij pozycję Dodaj tagi. Tagi nie są automatycznie używane do przypisywanie kosztów, ale można ręcznie utworzyć zapytanie w celu połączenia tagów niestandardowych z kosztami. Aby uzyskać szczegółowe informacje, zobacz Attribute costs to the SQL Warehouse with custom tags (Koszty atrybutów w usłudze SQL Warehouse z tagami niestandardowymi).
Istnieją właściwości zmaterializowanego widoku, które nie są dostępne w Eksploratorze wykazu. Aby uzyskać informacje dotyczące tych właściwości programowo, możesz użyć polecenia DESCRIBE EXTENDED.
Wyświetlanie szczegółów za pomocą polecenia DESCRIBE EXTENDED
Szczegóły dotyczące zmaterializowanego widoku można wyświetlić programowo przy użyciu DESCRIBE EXTENDED polecenia . Obejmuje to szczegółowe informacje poza tym, co można uzyskać z Eksploratora wykazu. To na przykład:
Stan najnowszej ukończonej aktualizacji.
Harmonogram odświeżania.
Kolumny zmaterializowanego widoku.
Typ odświeżania zmaterializowanego widoku (niedostępny w Eksploratorze wykazu).
Rozmiar danych zmaterializowanego widoku w łącznych bajtach (niedostępny w Eksploratorze wykazu).
Lokalizacja przechowywania zmaterializowanego widoku (niedostępna w Eksploratorze katalogu).
Niektóre informacje są uwzględniane tylko wtedy, gdy są włączone:
- Kolumny klastrowania, jeśli są włączone.
- Czy wektory usuwania są włączone (wyświetlane tylko wtedy, gdy
true). - Czy śledzenie wierszy jest włączone (wyświetlane tylko wtedy, gdy
true).
-- As table:
DESCRIBE TABLE EXTENDED sales;
-- As a single JSON object:
DESCRIBE TABLE EXTENDED sales AS JSON;
Programowe wykonywanie zapytań w dzienniku zdarzeń
Aby uzyskać szczegółowe informacje na temat historii odświeżania dla zmaterializowanego widoku lub szczegółów podczas odświeżania, możesz programowo wykonać zapytanie dotyczące dziennika zdarzeń.
Jako właściciel potoku możesz utworzyć widok umożliwiający innym osobom wykonywanie zapytań dotyczących dziennika zdarzeń dla potoku. Poniższe zapytanie tworzy widok, za pomocą którego inne osoby mogą wykonywać zapytania w dzienniku zdarzeń. To zapytanie używa funkcji value TABLE do zapytania właściwej tabeli dziennika zdarzeń.
CREATE VIEW my_event_log_view AS
SELECT *
FROM event_log(TABLE(<catalog_name>.<schema_name>.<mv_name>));
Aby wysłać zapytanie do widoku dziennika zdarzeń, użyj zapytania podobnego do poniższego.
SELECT *
FROM my_event_log_view
WHERE event_type = "update_progress"
ORDER BY timestamp desc;
Aby jako właściciel potoku wykonać zapytanie dotyczące dziennika zdarzeń bezpośrednio, nie musisz tworzyć widoku. Możesz użyć TABLE funkcji wartości i wykonywać zapytania bezpośrednio do danych, takich jak następujące przykładowe zapytanie.
SELECT *
FROM event_log(TABLE(<catalog_name>.<schema_name>.<mv_name>))
WHERE event_type = "update_progress"
ORDER BY timestamp desc;
Aby uzyskać pełną listę przykładowych zapytań przy użyciu dziennika zdarzeń, zobacz Podstawowe przykłady zapytań.
Monitorowanie zmaterializowanych przebiegów widoku
Możesz monitorować uruchomienia potoków w całym swoim obszarze roboczym, korzystając ze strony Zadania i potoki, strony Historia zapytań lub programowo, wysyłając zapytanie do dziennika zdarzeń.
Wyświetlanie wszystkich zmaterializowanych przebiegów widoku w interfejsie użytkownika
Jeśli używasz strony Zadania i potoki do monitorowania stanu różnych zadań orkiestracji w obszarze roboczym, możesz również śledzić wszystkie zmaterializowane widoki i tabele przesyłane strumieniowo, które tam utworzono. Każdy zmaterializowany widok utworzony w usłudze Databricks SQL jest wspierany przez pipeline. Aby wyświetlić wszystkie zmaterializowane widoki i tabele przesyłania strumieniowego, do których masz dostęp:
- Kliknij
Przycisk Zadania i potoki po lewej stronie obszaru roboczego.
- Kliknij przełącznik suwakowy Potoki, aby wyświetlić tylko potoki.
- Kliknij przycisk Typ potoku i wybierz pozycję MV/ST , aby filtrować tylko potoki utworzone przez usługę Databricks SQL.
- Kliknij filtr Dostępne dla mnie, aby wyświetlić wszystkie potoki, do których masz dostęp.
Zobaczysz wszystkie zmaterializowane widoki i tabele przesyłania strumieniowego utworzone w całej organizacji, w tym widok podsumowania ostatnich stanów wykonań. Kliknięcie nazwy potoku spowoduje otwarcie strony szczegółów monitorowania potoku, aby uzyskać więcej informacji. Aby dowiedzieć się więcej na temat strony szczegółów monitorowania potoku, zobacz Rozwiązywanie problemów z nieudanym odświeżaniem.
Wyświetlanie przebiegów przy użyciu historii zapytań
Jeśli znasz kartę Historia zapytań , możesz również użyć jej do wyświetlania wszystkich poprzednich uruchomień wszystkich zapytań, w których masz co najmniej CAN VIEW dostęp do wykonywania usługi SQL Warehouse. Możesz użyć strony historii zapytań, aby uzyskać dostęp do szczegółów zapytań i profilów zapytań, które mogą pomóc w identyfikowaniu słabych zapytań i wąskich gardeł w potoku używanym do uruchamiania aktualizacji tabeli przesyłania strumieniowego. Aby zapoznać się z omówieniem rodzaju informacji dostępnych dla historii zapytań i profilów zapytań, zobacz Historia zapytań i Profil zapytania.
Ważne
Ta funkcja jest dostępna w publicznej wersji testowej. Administratorzy obszaru roboczego mogą kontrolować dostęp do tej funkcji ze strony Podglądy . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
Wszystkie oświadczenia dotyczące zmaterializowanych widoków są wyświetlane w historii zapytań. Możesz użyć rozwijanej listy filtrującej Statement, aby wybrać dowolne polecenie i przejrzeć powiązane zapytania. Wszystkie instrukcje CREATE są kontynuowane przez instrukcję REFRESH, która jest wykonywana asynchronicznie w potoku. Instrukcje REFRESH zwykle zawierają szczegółowe plany zapytań, które zapewniają wgląd w optymalizację wydajności.
Aby uzyskać dostęp do REFRESH zapytań w historii zapytań interfejsu użytkownika, wykonaj następujące kroki:
- Kliknij
Historia zapytań na lewym pasku bocznym.
- Zaznacz pole wyboru REFRESH z rozwijanego filtra Oświadczenia.
- Kliknij nazwę instrukcji zapytania, aby wyświetlić szczegóły podsumowania, takie jak czas trwania zapytania i zagregowane metryki.
- Kliknij pozycję Zobacz profil zapytania , aby otworzyć profil zapytania. Aby uzyskać szczegółowe informacje na temat nawigowania po profilu zapytania, zobacz Profil zapytania.
- Opcjonalnie, użyj linków w sekcji Źródło zapytania, aby otworzyć powiązane zapytanie lub potok.
Zobacz: CREATE MATERIALIZED VIEW.
Rozwiązywanie problemów z nieudanym odświeżaniem
Aktualizacje zakończone niepowodzeniem dla zmaterializowanych widoków (lub tabel przesyłania strumieniowego) można znaleźć, przeglądając listę Zadań i potoków . Aby rozwiązać problemy z nieudaną aktualizacją, użyj strony szczegółów monitorowania potoku lub dziennika zdarzeń.
Aby rozwiązać problemy z odświeżaniem pełnym, jeśli uważasz, że powinno to być przyrostowe, najpierw sprawdź, czy włączono śledzenie wierszy dla wszystkich źródłowych tabel różnicowych. Aby uzyskać więcej informacji na temat odświeżania przyrostowego, zobacz Obsługa zmaterializowanego odświeżania przyrostowego widoku.
Dodatkowe szczegóły można uzyskać na stronie monitorowania potoku lub programowo wysyłając zapytanie do dziennika zdarzeń.
Korzystanie ze strony monitorowania rurociągu
Aby uzyskać więcej szczegółów na temat zmaterializowanego widoku (lub tabeli przesyłania strumieniowego), który uległ awarii, możesz użyć strony monitorowania potoku danych do debugowania problemów. Każdy zmaterializowany widok ma wspierający go potok. Strona monitorowania potoku zawiera informacje, takie jak:
- Stan ostatniego uruchomienia i historia uruchomień.
- Czas trwania ostatniego uruchomienia.
- Czy zmaterializowany widok jest odświeżany w pełni, czy przyrostowo. Aby uzyskać więcej informacji na temat przyrostowego odświeżania zmaterializowanego widoku, zobacz Obsługa zmaterializowanego widoku i jego przyrostowego odświeżania.
- Dziennik zdarzeń umożliwiający bardziej szczegółowe debugowanie. W przypadku, gdy zmaterializowany widok nie może się zaktualizować lub wystąpiły inne problemy, kliknij panel problemów, aby wyświetlić dzienniki bardziej szczegółowo.
Aby rozwiązać problemy ze zmaterializowanym widokiem:
- W swoim obszarze roboczym kliknij
Przycisk Zadania i potoki na pasku nawigacyjnym po lewej stronie.
- Kliknij nazwę potoku na liście.
- Jeśli nie można uruchomić aktualizacji, interfejs użytkownika wyświetli błąd (lub listę błędów) w dolnym panelu.
- Kliknij przycisk , aby wyświetlić dzienniki lub kliknij panel problemów , aby wyświetlić błędy bardziej szczegółowo.
- Otwiera to interfejs użytkownika dziennika zdarzeń. Każdy błąd zawiera ogólny komunikat i podsumowanie, a także kartę JSON z bardziej szczegółowymi informacjami. Aby rozwiązać problem z asystentem usługi Databricks, kliknij pozycję Diagnozowanie błędu.
Aby uzyskać więcej informacji na stronie monitorowania potoku, zobacz tutaj.
Wykonywanie zapytań dotyczących historii odświeżania dla zmaterializowanego widoku
Dziennik zdarzeń może być przydatny do konfigurowania pulpitów nawigacyjnych w celu monitorowania stanu aktualizacji lub czasu trwania w całym obszarze roboczym, lub jeśli wolisz programowe monitorowanie zamiast korzystania z interfejsu użytkownika. Zmaterializowane widoki utworzone za pomocą usługi Databricks SQL nie obsługują zapisywania dziennika zdarzeń w magazynie metadanych, więc tylko właściciel zmaterializowanego widoku może wysyłać zapytania bezpośrednio do dziennika zdarzeń.
Aby wyświetlić stan REFRESH operacji w zmaterializowanym widoku, w tym bieżących i przeszłych odświeżeń, wykonaj zapytanie dotyczące dziennika zdarzeń potoku:
SELECT *
FROM event_log(TABLE(<fully-qualified-table-name>))
WHERE event_type = "update_progress"
ORDER BY timestamp desc;
Zastąp <fully-qualified-table-name> kompletną i specyficzną nazwą zmaterializowanego widoku, w tym katalogiem i schematem. Jeśli nie jesteś właścicielem potoku, może być konieczne utworzenie widoku, aby zapytać o dziennik zdarzeń. Zobacz Programowe wykonywanie zapytań w dzienniku zdarzeń.
Wykonywanie zapytania o typ odświeżania, który wystąpił dla zmaterializowanego widoku
Niektóre zapytania można odświeżać przyrostowo. Jeśli nie można wykonać odświeżania przyrostowego, zamiast tego jest wykonywane pełne odświeżanie.
Aby wyświetlić typ odświeżania dla zmaterializowanego widoku, wykonaj zapytanie w dzienniku zdarzeń:
SELECT timestamp, message
FROM event_log(TABLE(my_catalog.my_schema.sales))
WHERE event_type = 'planning_information'
ORDER BY timestamp desc;
Przykładowe dane wyjściowe dla tego polecenia:
-
- sygnatura czasowa
- komunikat
-
2025-03-21T22:23:16.497+00:00Flow 'sales' has been planned in :re[LDP] to be executed as ROW_BASED.
Przypisywanie kosztów do usługi SQL Warehouse przy użyciu tagów niestandardowych
Tagi nie są automatycznie dołączane do rekordów rozliczeniowych, ale można je ręcznie dołączyć do informacji rozliczeniowych w zapytaniu.
Po dodaniu tagów do każdego zmaterializowanego widoku (lub tabeli przesyłania strumieniowego) za pomocą Eksploratora wykazu można monitorować koszty zmaterializowanych widoków, łącząc tabele systemowe table_tags i billing. Jest to przykładowe zapytanie służące do pobierania rekordów rozliczeniowych dla wszystkich zmaterializowanych widoków i tabel przesyłania strumieniowego utworzonych przy użyciu języka SQL usługi Databricks i dołączania tagów na poziomie tabeli:
SELECT
u.*,
tag_info.tags
FROM
system.billing.usage u
LEFT JOIN (
SELECT
t.catalog_name,
t.schema_name,
t.table_name,
collect_list(named_struct('tag_name', t.tag_name, 'tag_value', t.tag_value)) AS tags
FROM
main.information_schema.table_tags t
GROUP BY
t.catalog_name,
t.schema_name,
t.table_name
) tag_info
ON tag_info.catalog_name = u.usage_metadata.uc_table_catalog
AND tag_info.schema_name = u.usage_metadata.uc_table_schema
AND tag_info.table_name = u.usage_metadata.uc_table_name
WHERE usage_metadata.uc_table_name is not null;
Możesz użyć tego samego pomysłu, aby połączyć tagi kolumn z tabelą column_tags.