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

[ Talend Wykorzystanie zmiennych kontekstowych ] Nie wiedząc czym są zmienne kontekstowe Talend Studio oraz jak ich używać, nigdy nie będziesz mógł w pełni wykorzystać tego narzędzia. A nawet jeśli uda Ci się wykorzystać pewne możliwości poprzez obejście zmiennych, używając ich zrobiłbyś to samo kilka razy szybciej i prościej.

Talend Wykorzystanie zmiennych kontekstowych

W tym szkoleniu:

  • wyjaśnię, czym są zmienne kontekstowe,
  • powiem dlaczego ich potrzebujesz,
  • i pokażę na przykładach jak możesz ich używać, aby ułatwić sobie pracę.

Zmienne kontekstowe

Zmienne kontekstowe to przede wszystkim zmienne – czyli wartości przypisane pod pewną nazwą, które mogą się zmienić podczas działania programu bądź procesu. Wyobraź sobie sytuację, że utworzyłeś proces ładujący dane z pliku do bazy danych. Musiałeś więc w komponencie źródłowym podać m.in. ścieżkę do pliku, jego nazwę, separator zaś w komponencie docelowym m.in. użytkownika i hasło. Wartości te czasem się zmieniają, zwłaszcza hasło. I co wtedy? Czy przy każdej takiej zmianie będziesz edytował swój proces? Nie, jest to niewykonalne. Właśnie tutaj z pomocą przychodzą zmienne kontekstowe.

W Talend Studio możesz tworzyć pojedyncze zmienne kontekstowe oraz grupy zmiennych. Grupy zmiennych możesz wykorzystywać na wiele sposobów, np. do:

  • izolacji środowisk DEV, TEST lub PROD
  • zgrupowania konfiguracji konkretnej bazy danych (umieszczenie w jednej grupie nazwy serwera, użytkownika, hasła itp.)
  • zgrupowania powiązanych zmiennych, np. ścieżek do plików konfiguracyjnych.

Zmienne kontekstowe pozwalają Ci więc na używanie różnych wartości zmiennych w różnych środowiskach, co pozwala na szybkie przetestowanie procesu w dowolnie wybranych środowisku.

Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych - wystarczy 5 min!
Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych

Dodajemy kontekst do procesu

Metadane jako grupa

Na potrzeby niniejszego szkolenia stworzyłam prosty proces ładujący dane z pliku do bazy MySQL z wykorzystaniem filtrowania rekordów w tFilterRow. Jak możesz zobaczyć na screenie poniżej ścieżka do pliku wraz z jego nazwą jest wpisana na sztywno, co w przypadku zmiany ścieżki bądź nazwy pliku naraża nas na wywołanie błędów i edycje całego procesu.

Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych - wystarczy 5 min!
Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych

Grupę kontekstów możemy dodać na dwa sposoby:

  • Repository -> Contexts -> Create context group (niestety później musielibyśmy zmienić Property Type z Repository na Built-in)
  • Edycja schematu w Repository -> Metadata

Drugi sposób pozwala nam zachować schemat jako Repository, więc wykorzystamy go w poniższej instrukcji. 

Aby edytować metadane dla źródła customer_data wystarczy, że klikniesz w dowolne pole w zakładce Component np. File name/Stream. Pojawi Ci się pop-up z możliwością zmiany ustawień na buit-in bądź aktualizacji połączenia. Kliknij więc OK.

Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych - wystarczy 5 min!
Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych

W kroku 3/3 wybierz Export as context. Pojawi się pop-up, w którym chcemy utworzyć nową grupę kontekstów. Ja moja grupę nazwałam C_10_SRC_Customer.

Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych - wystarczy 5 min!
Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych

Talend Studio automatycznie doda wartości do grupy kontekstów. Aby zakończyć kreację grupy, wybierz Finish. Studio zapyta również o propagację zmian w procesie wykorzystującym dany plik źródłowy – należy się zgodzić.

W zakładce Contexts powinieneś widzieć swoją grupę kontekstów, a w zakładce Component wszystkie ustawienia pliku powinny być poprzedzone słowem context, np. context.customer_data_File.

Pojedyncze zmienne w kontekście

Nie bez powodu w procesie jest tFilterRow, bedziemy chcieli wrzucić w kontekst zmienna po której będziemy filtrować dane. W tym celu w zakładce Context dodaj nową zmienną typu INT. Moja zmienna nazywa się V_age_filter i ma wartość 30.

Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych - wystarczy 5 min!
Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych

Przejdź teraz do zakładki Component i polu Value wpisz nazwę swojej zmiennej poprzedzając ją słowem „context”.

Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych - wystarczy 5 min!
Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych

Separacja środowisk z użyciem kontekstów

Jak wspominałam wcześniej, używając grup kontekstów możemy odseparować środowiska i uruchamiać ten sam proces na różnych środowiskach tylko jednym kliknięciem. Talend wszystkie zmienne jakie tworzysz, tworzy w środowisku domyślnym (Default). Dodajmy nowe środowisko o nazwie TEST. 

W tym celu w Repozytorium wybierz Context -> <Twoja nazwa grupy kontekstu> -> Edit context group. W kroku 2/2 wybierz zielony znak plusa umieszczony po prawej stronie okna.

Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych - wystarczy 5 min!
Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych

Następnie dodaj nową grupę wybierając New…, wpisując jej nazwę (TEST) i na końcu kliknij OK. W zakładce Context możesz teraz zobaczyć dwie grupy: Default i Test oraz zmienić je na czas uruchomienia procesu.

Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych - wystarczy 5 min!
Talend DI Tutorial: Talend Wykorzystanie zmiennych kontekstowych

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: 67

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

Subscribe
Powiadom o
guest
0 Comments
Inline Feedbacks
View all comments