Share This Post, Help Others, And Earn My Heartfelt Appreciation! :)
4.8
(85)

W tej lekcji postaram się wytłumaczyć czym są procesy master i standalone [ Talend proces master i standalone ], jak je zbudować oraz dlaczego warto je wykorzystywać.

Talend proces master i standalone

Wyobraź sobie, że jesteś pracownikiem dużej korporacji i Twoim zadaniem jest zbudowanie kilkudziesięciu procesów migracji danych. Zbudowałeś je wszystkie, wykonałeś testy jednostkowe pojedynczych zadań migracyjnych i chciałbyś wreszcie uwolnić się od uruchamiana wszystkich tych procesów oddzielnie. Możliwości jest kilka – skrypt z uruchomieniem wszystkich procesów w odpowiedniej kolejności, narzędzie do automatyzacji procesów lub po prostu zagnieżdżenie wszystkich procesów w jeden w Talend DI.

Czym jest master i standalone job?

Proces master w Talend Data Integration jest to zbiór podprocesów w jednym zadaniu integracyjnym uruchamiany w określonej kolejności. Wszystkie podprocesy powiązane są ze sobą linkami typy OnSubjobOK. Nie możemy jednak zapominać, że używając połączenia OnSubjobOK powinniśmy określić również ścieżkę OnSubjobError.

Wszystkie procesy zbudowane w Talend DI możesz uruchamiać tylko w dedykowanym narzędziu. Chyba, że.. wyeksportujesz je jako procesy niezależne, czyli standalone. Talend daje Ci możliwość wyeksportowania procesów jako pliki systemu Unix (skrypt sh) bądź Windows (skrypt formatu bat).

Talend DI Tutorial: Talend proces master i standalone - sprawdź różnice w 5 min!

Budujemy proces master

Utwórz nowy proces w repozytorium i przeciągnij na pole Designer’a procesy, które chcesz uruchomić w jednym job’ie. Następnie połącz je ze sobą za pomocą linku OnSubjobOK.

Procesy możesz dodawać używając także pustego komponentu tRunJob i uzupełniając takie atrybuty jak schemat i nazwę procesu.

Następnie od każdego procesu poprowadź link OnSubjobError do komponentów tDie – jesli chcesz zatrzymać proces master w przypadku niepowodzenia któregoś z procesów wewnętrznych.

Talend DI Tutorial: Talend proces master i standalone - sprawdź różnice w 5 min!

Twój pierwszy proces master jest gotowy – spróbuj go uruchomić. W przypadku poprawnego wykonania wszystkich podprocesów, master job wykona się prawidłowo i zwróci kod zakończenia „0” informujący o sukcesie. (Talend proces master i standalone)

Upewnij się, że Twój komponent tRunJob ma zaznaczone pole „Die on child error”, które pozwala zatrzymać proces na podprocesie zakończonym niepowodzeniem. Tym samym, jeśli opcja ta nie jest zaznaczona – proces mimo napotkanych błędów będzie wykonywał kolejne podprocesy.

Talend DI Tutorial: Talend proces master i standalone - sprawdź różnice w 5 min!

Jednak w przypadku zakończenia któregokolwiek z podprocesów niepowodzeniem, proces master zakończy się niepowodzeniem i zatrzyma ładowanie dalszych danych.

Talend DI Tutorial: Talend proces master i standalone - sprawdź różnice w 5 min!

Standalone job

W celu utworzenia procesu standalone:

  1. Wybierz proces w repozytorium i kliknij na nim prawym przyciskiem myszy wybierając Build Job
  2. Wybierz interesujące parametry – zwróć zwłaszcza uwagę na Shell launcher (All / Windows / Unix) i Context scripts, gdzie możesz wybrać z jakim kontekstem chcesz utworzyć proces master
  3. Kliknij Finish .
Talend DI Tutorial: Talend proces master i standalone - sprawdź różnice w 5 min!

W wyeksportowanym folderze znajdziesz procesy w formacie jar, proces bat dla systemu operacyjnego Windows, a jeśli wybrałeś także opcję Unix – skrypt sh. Skrypty dla poszczególnych systemów operacyjnych to nic innego jak polecenia uruchamiające w określonej w Talend DI kolejności Twoje podprocesy wyeksportowane w formacie jar.

Jeśli spodobał Ci się ten post to zostaw proszę komentarz poniżej lub udostępnij ten post na swoim Facebook’u, Twitter’ze, LinkedIn lub innej stronie z mediami społecznościowymi.
Dzięki!

How useful was this post?

Click on a star to rate it!

Average rating 4.8 / 5. Vote count: 85

No votes so far! Be the first to rate this post.

Subscribe
Powiadom o
guest
0 Comments
Inline Feedbacks
View all comments