Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wyzwalacze aktualizacji tabeli umożliwiają uruchomienie zadania, gdy tabele źródłowe zostaną zaktualizowane. Ta funkcja służy do uruchamiania zadania, gdy nowe dane są gotowe bez konieczności ciągłego uruchamiania klastra lub wiedzy na temat procesów, które aktualizują tabelę.
Jak działają wyzwalacze aktualizacji tabeli
Wyzwalacz aktualizacji tabeli sprawdza aktualizacje tabeli, a po zaktualizowaniu tabeli zadanie jest uruchamiane. Wyzwalacz może być uruchamiany po zaktualizowaniu jednej tabeli lub zaktualizowaniu wszystkich tabel monitorowanych przez wyzwalacz. Wyzwalacze aktualizacji tabeli nie generują dodatkowych kosztów innych niż koszty dostawcy usług w chmurze skojarzone z wyświetlaniem listy tabel i odczytywaniem aktualizacji z lokalizacji magazynu.
Wyzwalacz aktualizacji tabeli można skonfigurować do monitorowania co najmniej jednej tabeli pod kątem zmian danych, takich jak aktualizacje, scalanie i usuwanie. Te tabele mogą być tabelami zarządzanymi przez Unity Catalog Delta i Iceberg, tabelami zewnętrznymi Unity Catalog wspieranymi przez Delta Lake, zmaterializowanymi widokami, tabelami przesyłania strumieniowego i widokami lub widokami metrycznymi Unity Catalog, które zależą od obsługiwanych tabel. Podczas wybierania wielu tabel można określić, czy zadanie jest wyzwalane po zaktualizowaniu dowolnej lub wszystkich tabel.
Możesz także skonfigurować wyzwalacze w tabelach i widokach OpenSharing oraz w tabelach systemowych. Zobacz Dodawanie wyzwalacza do tabel OpenSharing i systemowych.
Requirements
Podmiot zabezpieczeń skonfigurowany w polu Run as zadania musi mieć SELECT uprawnienia do każdego obiektu monitorowanego przez wyzwalacz, ponieważ wyzwalacz odczytuje metadane każdego obiektu oraz historię zmian, aby wykryć aktualizacje. Dotyczy to wszystkich wspieranych źródeł:
-
Tabele Unity Catalog:
SELECTna tabeli, plusUSE CATALOGiUSE SCHEMAna jego katalogu i schemacie. -
Widoki katalogu Unity:
SELECTna tabelach bazowych widoku. -
OpenSharing udostępnił obiekty współdzielone i tabele systemowe:
SELECTna obiekcie współdzielonym lub tabeli systemowej.
Jeśli podmiot zabezpieczeń Run as nie ma SELECT na monitorowanym obiekcie, wyzwalacz nie może zostać oceniony i zadanie nie jest uruchamiane. Aby przejrzeć lub zmienić tożsamość, z którą uruchamiane jest zadanie, zobacz Konfigurowanie użytkownika Uruchom jako dla uruchomień zadania.
Dodawanie wyzwalacza aktualizacji tabeli
Aby dodać wyzwalacz aktualizacji tabeli do istniejącego zadania:
W lewym obszarze nawigacyjnym obszaru roboczego kliknij pozycję Zadania i potoki.
Na liście zadań kliknij nazwę zadania, do którego chcesz dodać wyzwalacz.
W okienku po prawej stronie w obszarze Harmonogramy i wyzwalacze kliknij pozycję Dodaj wyzwalacz.
W obszarze Typ wyzwalacza wybierz pozycję Aktualizacja tabeli.
W obszarze Tabele dodaj tabele, które chcesz monitorować pod kątem aktualizacji.
Jeśli wybierzesz więcej niż jedną tabelę, skonfiguruj opcję w obszarze Wyzwalaj, kiedy chcesz określić, czy uruchomienie zadania ma zostać wyzwolone po zaktualizowaniu wszystkich tabel lub zaktualizowaniu dowolnej tabeli.
(Opcjonalnie) Skonfiguruj opcje zaawansowane, klikając pozycję Zaawansowane.
- Minimalny czas między uruchomieniami w sekundach: minimalny czas oczekiwania przed uruchomieniem nowego przebiegu po zakończeniu poprzedniego. Tabele zaktualizowane w tym okresie powodują uruchomienie dopiero po upływie czasu oczekiwania. Usługa Azure Databricks czeka określony czas przed uruchomieniem przebiegu, nawet jeśli monitorowane tabele zostaną zaktualizowane.
- Poczekaj po ostatniej zmianie w sekundach: czas oczekiwania na wyzwolenie procesu po aktualizacji tabeli. Dodatkowe aktualizacje tabeli w tym czasie resetują licznik czasu. To ustawienie może być używane, gdy aktualizacje tabel są w partiach, a cała partia musi zostać przetworzona po zaktualizowaniu wszystkich tabel.
Uwaga / Notatka
Jeśli są używane obie opcje, wyzwalacz czeka minimalny czas między wyzwalaczami, a następnie czeka ustawiony czas po ostatniej zmianie. Jeśli na przykład minimalny czas wynosi 120 sekund, a czas oczekiwania po ostatnich zmianach 60 sekund, uruchomienie nie nastąpi, dopóki nie upłynie co najmniej 120 sekund, nawet jeśli aktualizacja tabeli nastąpi w ciągu pierwszych 60 sekund. Ponadto, jeśli jedna aktualizacja nadejdzie po 5 sekundach, a następnie kolejna po 115 sekundach, oczekiwanie po ostatniej zmianie oznacza, że uruchomienie nastąpi dopiero po 175 sekundach.
Aby zweryfikować konfigurację, kliknij pozycję Testuj wyzwalacz.
Kliknij przycisk Zapisz.
Uwaga / Notatka
Możesz również skonfigurować wyzwalacze aktualizacji tabeli z poziomu interfejsu API zadań. Dodaj obiekt do operacji trigger, jobs/create, jobs/update lub jobs/reset.
Aby edytować, wstrzymać lub usunąć ten wyzwalacz później, użyj sekcji Harmonogramy i wyzwalacze w okienku Szczegóły zadania . Zobacz Zarządzanie istniejącymi regułami.
Aby rozpocząć uruchomienie tylko wtedy, gdy dane są gotowe, możesz dodać warunek SQL do tego wyzwalacza (Beta). Zobacz Dodaj warunki SQL do wyzwalaczy zadań.
Dodaj wyzwalacz do OpenSharing i tabel systemowych
Oprócz tabel lokalnych można skonfigurować wyzwalacze aktualizacji tabel w celu monitorowania danych udostępnionych w obszarze roboczym za pomocą tabel OpenSharing i systemowych. Można na przykład wyzwolić zadanie za każdym razem, gdy nowe rekordy rozliczeniowe wylądowały w tabeli systemowej lub za każdym razem, gdy dostawca aktualizuje udostępnioną tabelę.
Możesz uruchomić następujące udostępnione obiekty:
- Tabele OpenSharing
- Widoki udostępniania OpenSharing
- Widoki metryk OpenSharing
- Udostępnianie zmaterializowanych widoków openSharing
- Tabele strumieniowe OpenSharing
- Tabele systemowe
Postępuj zgodnie z instrukcjami w wyzwalaczu Dodaj aktualizację tabeli i wybierz wspólne tabele, widoki lub tabele systemowe, które chcesz monitorować.
Wyzwalacze aktualizacji tabeli wywołane zdarzeniami plików
Aby uzyskać najlepszą wydajność i skalowalność, włącz zdarzenia plików w lokalizacji zewnętrznej, w której są przechowywane tabele. Ten jednorazowy krok konfiguracji zwiększa wydajność wyzwalaczy aktualizacji tabeli i odblokowywa inne funkcje, w tym bardziej wydajne wyzwalacze automatycznego ładowania i wyzwalaczy przybycia plików.
Po włączeniu zdarzeń dotyczących plików, usługa Databricks automatycznie śledzi metadane dotyczące pozyskiwania przy użyciu powiadomień o zmianach od dostawcy usług chmurowych, co prowadzi do szybszych i bardziej efektywnych aktualizacji tabel.
Zdarzenia plikowe są wymagane, aby wyzwalacz monitorował ponad 10 tabel. Zobacz Jak tabele są wliczane do limitu uruchomienia.
Jeśli tabele znajdują się w głównym poziomie przechowywania metadanych, najpierw przekonwertuj je na lokalizację zewnętrzną, a następnie włącz zdarzenia plików w tej lokalizacji.
Aby uzyskać odpowiedzi na często zadawane pytania dotyczące zdarzeń plików, zobacz Często zadawane pytania dotyczące zdarzeń plików.
Parametry zadania skojarzone z wyzwalaczami aktualizacji tabeli
Gdy używasz wyzwalaczy aktualizacji tabeli dla zadania, trzy nowe odwołania do wartości dynamicznych są dostępne do użycia jako wartości parametrów w zadaniu.
-
{{job.trigger.table_update.updated_tables}}— Lista tabel JSON zaktualizowana od ostatniego uruchomienia zadania. -
{{job.trigger.table_update.`<catalog.schema.table>`.commit_timestamp.iso_datetime}}— znacznik czasu ostatniego zatwierdzenia, który wyzwolił uruchomienie zadania. -
{{job.trigger.table_update.`<catalog.schema.table>`.version}}— najnowsza wersja zatwierdzenia, która wyzwoliła uruchomienie zadania.
W przypadku commit_timestamp i version istnieje wiele wersji odwołania do dynamicznej wartości. Każda monitorowana tabela ma <catalog.schema.table> w pełni kwalifikowaną nazwę tabeli, dla której chcesz uzyskać dane. Jeśli w wyzwalaczu monitorowana jest tylko jedna tabela, zobaczysz wartość bez elementu <catalog.schema.table>. Możesz na przykład użyć {{job.trigger.table_update.commit_timestamp.iso_datetime}}.
Aby uzyskać więcej informacji na temat parametrów zadania, zobacz Parametryzacja zadań.
Otrzymywanie powiadomień o nieudanych wyzwalaczach aktualizacji tabeli
Aby otrzymywać powiadomienia, jeżeli nie udało się ocenić wyzwalacza aktualizacji tabeli, skonfiguruj powiadomienia e-mail lub systemowe w przypadku niepowodzenia zadania. Zobacz Dodawanie powiadomień dotyczących zadania.
Ograniczenia
Wyzwalacze aktualizacji tabeli mają następujące ograniczenia:
- Wyzwalacz może monitorować do 25 tabel. Aby monitorować więcej niż 10 tabel, zdarzenia pliku muszą być włączone dla każdej monitorowanej tabeli. Zobacz Jak tabele są wliczane do limitu uruchomienia.
- W przypadku tabel znajdujących się w lokalizacjach bez zdarzeń plików można skonfigurować maksymalnie 1000 zadań za pomocą wyzwalacza aktualizacji tabeli.
- Można utworzyć maksymalnie 1000 wyzwalaczy aktualizacji tabeli na obiektach openSharing lub tabelach systemowych na obszar roboczy.
- OpenSharing w różnych domenach regulacyjnych nie jest obsługiwany dla wyzwalaczy aktualizacji tabeli.
Wyzwalacze w widokach Unity Catalog mają następujące dodatkowe ograniczenia:
Wyzwalacze aktualizacji tabeli obsługują tylko monitorowanie widoków katalogu Unity lub widoków metryk, które zależą od tabel również obsługiwanych przez te wyzwalacze. W szczególności następujące widoki nie są obsługiwane:
- Widoki, które używają
read_files(mogą odczytywać dane z obsługiwanej tabeli odczytującej pliki, ale nie mogą bezpośrednio używaćread_files). - Widoki, które zależą od tabel, które nie są zawarte w Unity Catalog.
- Widoki zależne od tabel federacyjnych.
- Widoki, które używają
Tworzenie wyzwalaczy dla widoków zawierających nieobsługiwane zależności nadal kończy się powodzeniem, ale żadne uruchomienia zadań nie są wyzwalane po zaktualizowaniu nieobsługiwanej zależności.
Wyzwalacze aktualizacji tabeli monitorują zmiany w tabelach zależnych widoku i uważają widok za zaktualizowany, jeśli którakolwiek z tabel zależnych została zaktualizowana. Uruchomienie zadania może zostać wywołane przez zmiany danych, które są filtrowane przez definicję widoku.
Tabele źródłowe dla widoku liczą się do limitu 25 tabel na wyzwalacz, gdy zdarzenia plikowe są włączone dla każdej z tabel. Gdy zdarzenia plików są wyłączone, limit wynosi 10.
- Na przykład, jeśli widok zależy od 26 tabel, nie jest możliwe jego użycie w wyzwalaczu aktualizacji tabeli. Podobnie, wyzwalacz z dwoma widokami, z których każdy zależy od 14 tabel, liczy się jako 28 tabel.
Jak tabele liczą się do limitu wyzwalaczy
Limit liczby tabel dotyczy fizycznych tabel, które monitoruje wyzwalacz, a nie liczby wybranych obiektów:
- Każda tabela, widok materializowany lub tabela streamingowa liczy się jako jedna tabela.
- Każdy widok lub widok metryczny jest liczony na podstawie liczby tabel źródłowych, od których zależy. Tabele źródłowe są liczone osobno dla każdego widoku, więc tabela, od której zależą dwa monitorowane widoki, liczy się dwukrotnie.
Aby monitorować ponad 10 tabel, włącz zdarzenia plików na każdej monitorowanej tabeli, w tym na tabelach źródłowych monitorowanych widoków. Jeśli któraś z tych tabel nie ma włączonych zdarzeń plikowych, wyzwalacz monitorujący więcej niż 10 tabel nie może zostać zapisany lub ocena kończy się niepowodzeniem. Jeśli zdarzenia plikowe zostaną później wyłączone na jednej z tych tabel, wyzwalacz nie będzie oceniany, dopóki nie włączysz ponownie zdarzeń plikowych lub nie zmniejszysz wyzwalacza do 10 tabel lub mniej.