Talend - rozproszony system plików Hadoop

W tym rozdziale dowiemy się szczegółowo, jak Talend współpracuje z rozproszonym systemem plików Hadoop.

Ustawienia i wymagania wstępne

Zanim przejdziemy do Talend z HDFS, powinniśmy poznać ustawienia i wymagania wstępne, które należy spełnić w tym celu.

Tutaj uruchamiamy Cloudera quickstart 5.10 VM na wirtualnym pudełku. W tej maszynie wirtualnej musi być używana sieć tylko hosta.

Adres IP sieci tylko hosta: 192.168.56.101

Musisz mieć również tego samego hosta działającego w menedżerze Cloudera.

Teraz w systemie Windows przejdź do c: \ Windows \ System32 \ Drivers \ etc \ hosts i edytuj ten plik za pomocą Notatnika, jak pokazano poniżej.

Podobnie na maszynie wirtualnej Cloudera quickstart edytuj plik / etc / hosts, jak pokazano poniżej.

sudo gedit /etc/hosts

Konfigurowanie połączenia Hadoop

W panelu repozytorium przejdź do Metadane. Kliknij prawym przyciskiem myszy Hadoop Cluster i utwórz nowy klaster. Podaj nazwę, cel i opis tego połączenia klastra Hadoop.

Kliknij Następny.

Wybierz dystrybucję jako cloudera i wybierz wersję, której używasz. Wybierz opcję pobierania konfiguracji i kliknij Dalej.

Wprowadź poświadczenia menedżera (URI z portem, nazwą użytkownika, hasłem), jak pokazano poniżej, i kliknij Połącz. Jeśli szczegóły są poprawne, otrzymasz Cloudera QuickStart pod wykrytymi klastrami.

Kliknij Pobierz. Spowoduje to pobranie wszystkich połączeń i konfiguracji dla HDFS, YARN, HBASE, HIVE.

Wybierz Wszystko i kliknij Zakończ.

Pamiętaj, że wszystkie parametry połączenia zostaną automatycznie wypełnione. W nazwie użytkownika wpisz cloudera i kliknij Zakończ.

Dzięki temu udało Ci się połączyć z klastrem Hadoop.

Łączenie z HDFS

W tym zadaniu wymienimy wszystkie katalogi i pliki, które są obecne na HDFS.

Najpierw utworzymy zadanie, a następnie dodamy do niego komponenty HDFS. Kliknij prawym przyciskiem myszy projekt pracy i utwórz nową pracę - hadoopjob.

Teraz dodaj 2 komponenty z palety - tHDFSConnection i tHDFSList. Kliknij prawym przyciskiem myszy tHDFSConnection i połącz te 2 komponenty za pomocą wyzwalacza „OnSubJobOk”.

Teraz skonfiguruj oba komponenty talend hdfs.

W tHDFSConnection wybierz Repozytorium jako Typ właściwości i wybierz utworzony wcześniej klaster Hadoop Cloudera. Automatycznie wypełni wszystkie niezbędne szczegóły wymagane dla tego komponentu.

W tHDFSList wybierz „Użyj istniejącego połączenia” iz listy komponentów wybierz skonfigurowane połączenie tHDFS.

Podaj ścieżkę domową HDFS w katalogu HDFS i kliknij przycisk przeglądania po prawej stronie.

Jeśli poprawnie nawiązałeś połączenie z wyżej wymienionymi konfiguracjami, pojawi się okno pokazane poniżej. Wyświetli listę wszystkich katalogów i plików obecnych w domu HDFS.

Możesz to zweryfikować, sprawdzając swój HDFS w Cloudera.

Czytanie pliku z HDFS

W tej sekcji wyjaśnimy, jak czytać plik z HDFS w Talend. Możesz w tym celu utworzyć nowe stanowisko pracy, jednak tutaj korzystamy z już istniejącego.

Przeciągnij i upuść 3 komponenty - tHDFSConnection, tHDFSInput i tLogRow z palety do okna projektanta.

Kliknij prawym przyciskiem myszy tHDFSConnection i podłącz komponent tHDFSInput za pomocą wyzwalacza „OnSubJobOk”.

Kliknij prawym przyciskiem myszy tHDFSInput i przeciągnij główne łącze do tLogRow.

Zauważ, że tHDFSConnection będzie miał podobną konfigurację jak wcześniej. W tHDFSInput wybierz „Użyj istniejącego połączenia” iz listy komponentów wybierz tHDFSConnection.

W polu Nazwa pliku podaj ścieżkę HDFS do pliku, który chcesz odczytać. Tutaj czytamy prosty plik tekstowy, więc nasz typ pliku to Plik tekstowy. Podobnie, w zależności od danych wejściowych, wypełnij separator wierszy, separator pól i szczegóły nagłówka, jak wspomniano poniżej. Na koniec kliknij przycisk Edytuj schemat.

Ponieważ nasz plik zawiera tylko zwykły tekst, dodajemy tylko jedną kolumnę typu String. Teraz kliknij OK.

Note - Jeśli dane wejściowe mają wiele kolumn różnych typów, należy odpowiednio wspomnieć o schemacie.

W składniku tLogRow kliknij Synchronizuj kolumny w schemacie edycji.

Wybierz tryb, w którym chcesz wydrukować wydruk.

Na koniec kliknij Uruchom, aby wykonać zadanie.

Po pomyślnym odczytaniu pliku HDFS możesz zobaczyć następujące dane wyjściowe.

Zapisywanie pliku do HDFS

Zobaczmy, jak napisać plik z HDFS w Talend. Przeciągnij i upuść 3 komponenty - tHDFSConnection, tFileInputDelimited i tHDFSOutput z palety do okna projektanta.

Kliknij prawym przyciskiem myszy tHDFSConnection i połącz komponent tFileInputDelimited za pomocą wyzwalacza „OnSubJobOk”.

Kliknij prawym przyciskiem myszy tFileInputDelimited i przeciągnij główny link do tHDFSOutput.

Zauważ, że tHDFSConnection będzie miał podobną konfigurację jak wcześniej.

Teraz w tFileInputDelimited podaj ścieżkę do pliku wejściowego w opcji Nazwa pliku / Strumień. Tutaj używamy pliku csv jako danych wejściowych, stąd separator pól to „,”.

Wybierz nagłówek, stopkę, limit zgodnie z plikiem wejściowym. Zauważ, że tutaj nasz nagłówek to 1, ponieważ 1 wiersz zawiera nazwy kolumn, a limit to 3, ponieważ piszemy tylko pierwsze 3 wiersze do HDFS.

Teraz kliknij edytuj schemat.

Teraz, zgodnie z naszym plikiem wejściowym, zdefiniuj schemat. Nasz plik wejściowy ma 3 kolumny, jak wspomniano poniżej.

W składniku tHDFSOutput kliknij synchronizuj kolumny. Następnie wybierz tHDFSConnection w Użyj istniejącego połączenia. Ponadto w polu Nazwa pliku podaj ścieżkę HDFS, w której chcesz zapisać plik.

Zwróć uwagę, że typem pliku będzie plik tekstowy, Akcja to „Utwórz”, separatorem wierszy będzie „\ n”, a separatorem pól będzie „;”

Na koniec kliknij Uruchom, aby wykonać zadanie. Po pomyślnym wykonaniu zadania sprawdź, czy plik znajduje się na HDFS.

Uruchom następujące polecenie hdfs ze ścieżką wyjściową, o której wspomniałeś w zadaniu.

hdfs dfs -cat /input/talendwrite

Jeśli pomyślnie zapisujesz na HDFS, zobaczysz następujące dane wyjściowe.