[ 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.

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.

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.

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 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.

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

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.

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.
