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

Ucząc się narzędzia Talend Studio nie możemy pominąć komponentów [ tDBInput tMySQLInput tCreateTable Talend ] dedykowanych dla baz danych. Są one nieodzownych element przetwarzania danych. Baza danych prawie zawsze jest obiektem docelowym, źródłowym albo jednocześnie obydwoma z nich.

W tym szkoleniu pokaże:

  • jak połączyć się do bazy danych,
  • jak utworzyć tabelę z użyciem komponentu Talend,
  • jak pobrać dane z bazy danych i jak je zapisać w bazie,
  • jak filtrować i agregować dane w Talend.

Tworzymy połączenie do bazy danych

Najpierw utwórzmy w metadanych połączenie do bazy danych – ja będę używać bazy MySQL.

W repozytorium wybierz Metadane -> Db Connections -> Create Connection

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

Pojawi się okno, w którym musisz podać nazwę połączenia do bazy danych. Pozostałe pola są opcjonalne. Moje połączenie będzie się nazywać MySQL-Tutorial. Następnie wybierz Next, aby przejść dalej.

Wybierz typ bazy danych (u mnie MySQL), podaj login (nazwa użytkownika), hasło oraz namiary na  serwer. Pole DataBase jest opcjonalne.

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

Sprawdź swoje połączenie wybierając Test connection.

Powinieneś otrzymać następujący komunikat: „<Your database name>” connection successful.

Jeśli udało się nawiązać połączenie wybierz OK a następnie Finish, aby zamknąć kreator połączenia.

tDBInput tMySQLInput tCreateTable Talend

Tworzymy tabele używając metadanych

Najpierw musimy utworzyć nowy proces integracyjny, u mnie będzie on się nazywał JOB_100_30_DB. Następnie wyszukajcie w palecie komponentów tCreateTable bądź zacznijcie wpisywać jego nazwę na płótnie designera:

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

W zakładce Component view zmieńcie Property type na Repository, a następnie kliknijcie w niewielki przycisk […]. Otworzy wam się okno z możliwością wyboru bazy danych – wybierzcie utworzone przed chwilą połączenie (u mnie to MySQL-Tutorial).

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

Po wskazaniu połączenia z repozytorium, ustawienia bazy danych zostaną automatycznie załadowane do komponentu tCreateTable. Tabelę, którą właśnie tworzymy posłuży nam jako tabela docelowa naszego procesu. Wpiszmy jej nazwę jako CUSTOMER oraz zmieńmy ustawienia tabeli jako Create table if not exits.

BigData-ETL: Capture 21

Musimy jeszcze dodać schemat. W tym celu wybierz Edit schema […], a następnie dodaj kolumnę ORG_ID (Integer), SUM_SALARY (BigDecimal) oraz CNT_CUST (Integer).

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

Dodanie komponentów bazy danych

W tym kroku dodamy komponent źródłowy i docelowy. W zależności jaką bazę danych wybraliście, znajdźcie odpowiedni dla niej komponent, np. dla MySQL będzie to tMysqlInput, dla Oracle’a – tOracleInput. Zmieńcie Property Type na Respository i wskażcie połączenie do bazy danych. Następnie wprowadźcie nazwę tabeli jako CUSTOMER_SRC (poniżej znajdziesz plik z przykładowymi danymi do pobrania) oraz zaraz wybierzemy Schema jako Repository(tDBInput tMySQLInput tCreateTable Talend)

Dane źródłowe przetwarzane w niniejszym szkoleniu, prezentują się następująco:

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!
Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

Aby mieć możliwość zaczytania schematu tabeli automatycznie, musimy dodać ją do repozytorium. W tym celu wybierz swoje połączenie bazy danych i kliknij Retrive Schema. (tDBInput tMySQLInput tCreateTable Talend)

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

W nowym oknie możesz wyfiltrować nazwę tabeli lub po prostu kliknąć Next – wtedy Talend przeszuka wszystkie obiekty dostępne w bazie danych. Następnie rozwiń listę tabel dostępnych w  bazie i wybierz CUSTOMER_SRC. Dalej kliknij Next.

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

W kolejnym kroku zobaczysz schemat tabeli. Jeśli nie chcesz go modyfikować po prostu kliknij Finish.

Możemy teraz wrócić do ustawień komponentu tMysqlInput. W wierszu Schema kliknij […], a następnie wybierz nazwę tabeli CUSTOMER_SRC.

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

Pamiętaj też, aby w ustawieniach komponentu kliknąć Guess Query, który dopasuje zapytanie SQL dla wskazanej tabeli.

Czas dodać komponent tMysqlOutput. Ustaw w Component View Property Type jako Repository, nazwę tabeli ustaw jaki CUSTOMER (typ wbudowany). [ tDBOutput ]

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

Filtrowanie i agregacja danych

Dodaj komponent tFilterRow, który będzie filtrował dane (wykluczymy z dalszego przetwarzania ORG_ID = 20). Aby móc modyfikować jego ustawienia, musimy połączyć go z tMysqlInput. 

Dodajmy przy pomocy [+] rekord w tabeli i ustawmy odpowiednio InputColumn jako ORG_ID (kolumna po jakiej będziemy filtrować dane), Operator jako Not equal to oraz Value jako 20.

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

W kolejnym kroku dodamy komponent tAggregateRow, który zagreguje dane według ORG_ID i wyliczy sumę pola SALARY oraz liczbę pola CUSTOMER dla danego ORG_ID. W tym celu kliknij Edit Schema a następnie dodaj kolumny zgodnie z poniższym screen’em:

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

Połącz tAggregateRow z tFilterRow bez propagacji schematu. W tabeli Group by dodaj kolumnę ORG_ID, a w tabeli Operations dodaj SUM_SALARY oraz CNT_CUST oraz odpowiednie funkcje sum (SALARY) oraz count (ID).

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

Uruchomienie procesu

Na koniec musimy połączyć tCreateTable z pozostałymi komponentami. Użyjemy w tym celu wyzwalacza procesu On Subjob Ok. O podprocesach (tuaj: subjob) będziemy mówić w kolejnych częściach szkolenia. Teraz po prostu połączmy tCreateTable z tMysqlInput. Wtym celu kliknijmy na tCreateTable prawym przyciskiem myszy Trigger -> On Subjob Ok.

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

W ostatecznej wersji nasz proces wygląda następująco:

Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

Przejdziemy teraz do zakładki Run view i uruchomimy proces wybierając Run. (tDBInput tMySQLInput tCreateTable Talend)

Następnie sprawdzimy dane w tabeli CUSTOMER:

SELECT * FROM CUSTOMER;
Talend DI Tutorial: tDBInput tMySQLInput tCreateTable Talend Bazy Danych - 4 super komponenty!

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

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

Subscribe
Powiadom o
guest
0 Comments
Inline Feedbacks
View all comments