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.
DOTYCZY:
Azure Data Factory
Azure Synapse Analytics
Wskazówka
Data Factory w usłudze Microsoft Fabric jest następną generacją Azure Data Factory z prostszą architekturą, wbudowaną sztuczną inteligencją i nowymi funkcjami. Jeśli dopiero zaczynasz integrować dane, zacznij od Fabric Data Factory. Istniejące obciążenia ADF można zaktualizować do Fabric, aby uzyskać dostęp do nowych możliwości w zakresie nauki o danych, analiz w czasie rzeczywistym oraz raportowania.
Ten artykuł zawiera kroki do utworzenia zależności od wyzwalacza związanego z oknem przesuwanym. Aby uzyskać ogólne informacje na temat wyzwalaczy okien wirowych, zobacz Utwórz wyzwalacz okna wirowego.
Aby utworzyć łańcuch zależności i upewnić się, że wyzwalacz jest wykonywany dopiero po pomyślnym wykonaniu innego wyzwalacza w usłudze, użyj zaawansowanej funkcji, aby utworzyć zależność okna z przesuwaniem.
Aby zobaczyć demonstrację, jak tworzyć zależne potoki danych przy użyciu wyzwalacza przesuwanego okna, obejrzyj następujący materiał:
Tworzenie zależności w interfejsie użytkownika
Aby utworzyć zależność od wyzwalacza, wybierz opcję Wyzwalacz>Zaawansowane>Nowy. Następnie wybierz wyzwalacz, biorąc pod uwagę odpowiednie przesunięcie i rozmiar. Wybierz pozycję Zakończ i opublikuj zmiany, aby zależności zaczęły obowiązywać.
Właściwości zależności okna z przesunięciem
Wyzwalacz okna wirowania z zależnością ma następujące właściwości:
{
"name": "MyTriggerName",
"properties": {
"type": "TumblingWindowTrigger",
"runtimeState": <<Started/Stopped/Disabled - readonly>>,
"typeProperties": {
"frequency": <<Minute/Hour>>,
"interval": <<int>>,
"startTime": <<datetime>>,
"endTime": <<datetime - optional>>,
"delay": <<timespan - optional>>,
"maxConcurrency": <<int>> (required, max allowed: 50),
"retryPolicy": {
"count": <<int - optional, default: 0>>,
"intervalInSeconds": <<int>>,
},
"dependsOn": [
{
"type": "TumblingWindowTriggerDependencyReference",
"size": <<timespan - optional>>,
"offset": <<timespan - optional>>,
"referenceTrigger": {
"referenceName": "MyTumblingWindowDependency1",
"type": "TriggerReference"
}
},
{
"type": "SelfDependencyTumblingWindowTriggerReference",
"size": <<timespan - optional>>,
"offset": <<timespan>>
}
]
}
}
}
Poniższa tabela zawiera listę atrybutów wymaganych do zdefiniowania zależności okna przeskakującego.
| Nazwa właściwości | Opis | Typ | Wymagane |
|---|---|---|---|
type |
Wszystkie istniejące wyzwalacze okna wirowania są wyświetlane na tej liście rozwijanej. Wybierz wyzwalacz, na który ma być zależny. |
TumblingWindowTriggerDependencyReference lub SelfDependencyTumblingWindowTriggerReference |
Tak |
offset |
Przesunięcie wyzwalacza zależności. Podaj wartość w formacie przedziału czasu. Dozwolone są zarówno przesunięcia ujemne, jak i dodatnie. Ta właściwość jest obowiązkowa, jeśli wyzwalacz jest zależny od siebie. We wszystkich innych przypadkach jest to opcjonalne. Samowystarczalność zawsze powinna być ujemnym offsetem. Jeśli nie określono żadnej wartości, okno jest takie samo jak sam wyzwalacz. | Zakres czasu (hh:mm:ss) |
Samodzielność: Tak Inne: Nie |
size |
Rozmiar przesuwnego okna zależności. Podaj dodatnią wartość przedziału czasu. Ta właściwość jest opcjonalna. | Zakres czasu (hh:mm:ss) |
Nie. |
Uwaga
Wyzwalacz okna wirowania może zależeć od maksymalnie pięciu innych wyzwalaczy.
Właściwości niezależności przepływnego okna czasowego
W przypadku scenariuszy, w których wyzwalacz nie może przechodzić do następnego okna, dopóki poprzednie okno nie zostanie pomyślnie ukończone, utwórz zależność wewnętrzną. Wyzwalacz samodzielnej zależności, który zależy od powodzenia wcześniejszych przebiegów samego siebie w ciągu poprzedniej godziny, ma właściwości wskazane w poniższym kodzie.
Uwaga
Jeśli wyzwalana "pipeline" opiera się na danych wyjściowych "pipeline" w wcześniej wyzwalanych oknach, zalecamy używanie tylko wyzwalacza okien stałoczasowych z samodzielną zależnością. Aby ograniczyć równoległe działanie wyzwalacza, należy ustawić maksymalną liczbę jednoczesnych działań wyzwalacza.
{
"name": "DemoSelfDependency",
"properties": {
"runtimeState": "Started",
"pipeline": {
"pipelineReference": {
"referenceName": "Demo",
"type": "PipelineReference"
}
},
"type": "TumblingWindowTrigger",
"typeProperties": {
"frequency": "Hour",
"interval": 1,
"startTime": "2018-10-04T00:00:00Z",
"delay": "00:01:00",
"maxConcurrency": 50,
"retryPolicy": {
"intervalInSeconds": 30
},
"dependsOn": [
{
"type": "SelfDependencyTumblingWindowTriggerReference",
"size": "01:00:00",
"offset": "-01:00:00"
}
]
}
}
}
Scenariusze użycia i przykłady
W poniższych scenariuszach przedstawiono użycie właściwości zależności okna przesuwnego. W tych przykładach żółte okna muszą ukończyć swoje zadanie pomyślnie, zanim nastąpi uruchomienie następnego wyzwalacza, a linie przerywane łączą je z oknem, które zostanie wyzwolone po ich zakończeniu.
Przesunięcie zależności
W tych przykładach sekwencja 10–11 dla wyzwalacza A zależy od sekwencji wyzwalacza B (wyróżnionego kolorem żółtym). Gdy wyzwalacz B zakończy się pomyślnie, uruchomi się wyzwalacz A.
Ta zależność może być współbieżna (mogą występować w tym samym czasie) lub może być przesunięta w czasie (wyzwalacz B uruchamiany w innym czasie niż wyzwalacz A).
W pierwszym przykładzie wyzwalacz w przedziale czasowym 10–11 A ma jednoczesną zależność od wyzwalacza B 10–11, więc nie ma opóźnienia.
W drugim przykładzie wyzwalacz A dla przedziału czasu 10-11 ma zależność czasowego przesunięcia od wyzwalacza B dla przedziału 9-10, więc istnieje przesunięcie o -1 godzinę.
Rozmiar zależności
W tych przykładach sekwencja 10–11 dla wyzwalacza A zależy od sekwencji wyzwalacza B (wyróżnionego kolorem żółtym). Gdy wyzwalacz B zakończy się pomyślnie, uruchomi się wyzwalacz A.
Rozmiar okna zależności może być inny niż rozmiar okna zależnego.
W pierwszym przykładzie wyzwalacz A 10-11 ma zależność przesunięcia od wyzwalacza 9-10 B. Przesunięcie wynosi -1 godzinę, a rozmiar jest nieokreślony, ponieważ okno zależności ma taki sam rozmiar jak okno wyzwalacza.
W drugim przykładzie wyzwalacz A przedziału czasu 10-11 ma przesunięcie zależne od wyzwalacza B 9-11, więc istnieje przesunięcie -1 godziny, a rozmiar wynosi 2 godziny.
Samodzielna zależność
W tych przykładach uruchomienie 10–11 dla wyzwalacza A zależy od poprzednich przebiegów wyzwalacza A. Po pomyślnym zakończeniu określonego okna z wyzwalacza A zostanie uruchomiony następny wyzwalacz A.
W pierwszym przykładzie wyzwalacz A w przedziale czasowym 10–11 ma zależność czasową od wyzwalacza A w przedziale 9–10, dlatego występuje przesunięcie o -1 godzinę i rozmiar nieokreślony, ponieważ rozmiar okna zależności jest taki sam jak okno wyzwalacza.
W drugim przykładzie wyzwalacz w przedziale czasowym 10-11 ma zależność czasową od wyzwalacza w przedziale 8-10, więc istnieje przesunięcie o -1 godzinę i trwanie 2 godziny.
W tym trzecim przykładzie pokazano codzienne zadanie (a nie zadanie godzinowe) bez przerw w strumieniach wyjściowych zadania.
Wyzwalacz przedziału czasu 10/2-10/3 ma zależność od okna 10/1-10/2 i będzie wyzwalany tylko wtedy, gdy 10/1-10/2 zakończy się pomyślnie. Przesunięcie wynosi -1 dzień, a rozmiar jest nieokreślony, ponieważ rozmiar okna zależności jest taki sam jak rozmiar okna wyzwalacza.
Zależność od innego wyzwalacza okna wirowania
W poniższym przykładzie pokazano codzienne zadanie przetwarzania danych telemetrycznych, które polega na innym codziennym zadaniu sumowania wyników z ostatnich siedmiu dni i generuje siedmiodniowe okna kroczące w czasie.
Po pomyślnym zakończeniu okna wyzwalacza B od 10/1 do 10/8, rozpocznie się wyzwalacz A w okresie od 10/7 do 10/8. Wyzwalacz zależności A ma przesunięcie o -6 dni i długość 7 dni.
Monitorowanie zależności
Łańcuch zależności i odpowiednie okna można monitorować na stronie monitorowania przebiegu wyzwalania. Przejdź do Monitorowanie>Uruchamianie wyzwalaczy. Jeśli wyzwalacz okna przesuwającego ma zależności, nazwa wyzwalacza zawiera hiperlink do widoku monitorowania zależności.
Kliknij nazwę wyzwalacza, aby wyświetlić zależności wyzwalacza. Okienko po prawej stronie przedstawia informacje o uruchomieniu wyzwalacza, takie jak identyfikator uruchomienia, czas trwania okna czasowego i status.
Można zobaczyć stan zależności i okien dla każdego wyzwalacza zależnego. Jeśli jeden z wyzwalaczy zależności nie powiedzie się, konieczne jest jego pomyślne ponowne uruchomienie, aby uruchomić wyzwalacz zależny.
Wyzwalacz okna wirowania czeka na zależności przez siedem dni przed upływem limitu czasu. Po siedmiu dniach uruchomienie wyzwalacza kończy się niepowodzeniem.
Uwaga
Nie można anulować wyzwalacza okna przesuwającego się, jeśli jest w stanie oczekiwania na zależność. Działanie zależne musi zakończyć się, zanim będzie można anulować wyzwalacz okna przeliczania. To ograniczenie jest zamierzone, żeby działania zależne mogły zakończyć się po rozpoczęciu. Pomaga również zmniejszyć prawdopodobieństwo nieoczekiwanych wyników.
Aby wyświetlić bardziej wizualny sposób wyświetlania harmonogramu zależności wyzwalacza, wybierz widok Gantta.
Przezroczyste pola pokazują okna zależności dla każdego wyzwalacza zależnego od procesów dalszych. Kolorowe pola pokazane na powyższym obrazie pokazują poszczególne uruchomienia okien. Poniżej przedstawiono kilka wskazówek dotyczących interpretowania widoku wykresu Gantta:
- Przezroczyste pola przybierają barwę niebieską, gdy powiązane okna są w stanie Oczekiwanie lub Uruchamiane.
- Po pomyślnym wykonaniu wszystkich okien dla wyzwalacza zależnego przezroczyste pole zmieni kolor na zielony.
- Przezroczyste pola są renderowane na czerwono, gdy okno zależne zakończy się niepowodzeniem. Poszukaj solidnego czerwonego pola, aby zidentyfikować uruchomienie okna niepowodzenia.
Aby ponownie uruchomić okno w widoku wykresu Gantta, wybierz pole koloru stałego dla okna. Pojawi się panel akcji zawierający informacje oraz opcje ponownego uruchomienia.