Hadoop_Komplety_przewodnik_Analiza_i_przechowywanie_danych_hadoop.pdf

(1024 KB) Pobierz
Tytuł oryginału: Hadoop: The Definitive Guide, Fourth Edition
Tłumaczenie: Tomasz Walczak
ISBN: 978-83-283-1457-3
© 2016 Helion SA
Authorized Polish translation of the English edition of Hadoop: The Definitive Guide,
4th Edition ISBN 9781491901632 © 2015 Tom White.
This translation is published and sold by permission of O’Reilly Media, Inc.,
which owns or controls all rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/hadoop.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/hadoop
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Przedmowa .........................................................................................................................17
Wprowadzenie ....................................................................................................................19
Kwestie porządkowe .......................................................................................................................................20
Co nowego znajdziesz w wydaniu czwartym? ............................................................................................20
Konwencje stosowane w tej książce .............................................................................................................21
Korzystanie z przykładowego kodu .............................................................................................................21
Podziękowania ................................................................................................................................................22
Cz
I. Podstawy platformy Hadoop .......................................................... 25
Dane! .................................................................................................................................................................27
Przechowywanie i analizowanie danych .....................................................................................................29
Przetwarzanie w zapytaniach wszystkich danych ......................................................................................30
Poza przetwarzanie wsadowe ........................................................................................................................30
Porównanie z innymi systemami .................................................................................................................31
Systemy RDBMS ..........................................................................................................................................32
Przetwarzanie sieciowe ................................................................................................................................33
Przetwarzanie z udziałem ochotników .....................................................................................................34
Krótka historia platformy Apache Hadoop ................................................................................................35
Zawartość książki ............................................................................................................................................38
Rozdział 1. Poznaj platformę Hadoop ...................................................................................27
Rozdział 2. Model MapReduce ..............................................................................................41
Zbiór danych meteorologicznych .................................................................................................................41
Format danych ..............................................................................................................................................41
Analizowanie danych za pomocą narzędzi uniksowych ...........................................................................42
Analizowanie danych za pomocą Hadoopa ................................................................................................44
Mapowanie i redukcja .................................................................................................................................44
Model MapReduce w Javie .........................................................................................................................45
Skalowanie .......................................................................................................................................................51
Przepływ danych ..........................................................................................................................................51
Funkcje łączące .............................................................................................................................................55
Wykonywanie rozproszonego zadania w modelu MapReduce ............................................................56
5
Kup książkę
Poleć książkę
Narzędzie Streaming Hadoop .......................................................................................................................57
Ruby ...............................................................................................................................................................57
Python ............................................................................................................................................................59
Rozdział 3. System HDFS ......................................................................................................61
Projekt systemu HDFS ...................................................................................................................................61
Pojęcia związane z systemem HDFS ............................................................................................................63
Bloki ...............................................................................................................................................................63
Węzły nazw i węzły danych ........................................................................................................................64
Zapisywanie bloków w pamięci podręcznej .............................................................................................65
Federacje w systemie HDFS .......................................................................................................................65
Wysoka dostępność w systemie HDFS .....................................................................................................66
Interfejs uruchamiany z wiersza poleceń ....................................................................................................68
Podstawowe operacje w systemie plików .................................................................................................69
Systemy plików w Hadoopie .........................................................................................................................70
Interfejsy ........................................................................................................................................................71
Interfejs w Javie ...............................................................................................................................................74
Odczyt danych na podstawie adresu URL systemu Hadoop ................................................................74
Odczyt danych za pomocą interfejsu API FileSystem ............................................................................75
Zapis danych .................................................................................................................................................78
Katalogi ..........................................................................................................................................................80
Zapytania w systemie plików .....................................................................................................................80
Usuwanie danych .........................................................................................................................................84
Przepływ danych .............................................................................................................................................85
Anatomia odczytu pliku .............................................................................................................................85
Anatomia procesu zapisu danych do pliku ..............................................................................................87
Model zapewniania spójności ....................................................................................................................90
Równoległe kopiowanie za pomocą programu distcp ..............................................................................91
Zachowywanie równowagi w klastrach z systemem HDFS ...................................................................92
Rozdział 4. System YARN ......................................................................................................95
Struktura działania aplikacji w systemie YARN ........................................................................................96
Żądania zasobów ..........................................................................................................................................97
Czas życia aplikacji ......................................................................................................................................97
Budowanie aplikacji systemu YARN ........................................................................................................98
System YARN a implementacja MapReduce 1 ..........................................................................................99
Szeregowanie w systemie YARN ................................................................................................................101
Dostępne programy szeregujące ..............................................................................................................101
Konfigurowanie programu szeregującego Capacity .............................................................................103
Konfigurowanie programu szeregującego Fair .....................................................................................105
Szeregowanie z opóźnieniem ...................................................................................................................109
Podejście Dominant Resource Fairness ..................................................................................................109
Dalsza lektura ................................................................................................................................................110
Rozdział 5. Operacje wejścia-wyjścia w platformie Hadoop .................................................111
Integralność danych .....................................................................................................................................111
Integralność danych w systemie HDFS ..................................................................................................112
Klasa LocalFileSystem ...............................................................................................................................112
Klasa ChecksumFileSystem ......................................................................................................................113
6
Spis treści
Kup książkę
Poleć książkę
Kompresja ......................................................................................................................................................113
Kodeki ..........................................................................................................................................................114
Kompresja i podział danych wejściowych ..............................................................................................118
Wykorzystywanie kompresji w modelu MapReduce ...........................................................................120
Serializacja ...................................................................................................................................................122
Interfejs Writable .......................................................................................................................................123
Klasy z rodziny Writable ...........................................................................................................................125
Tworzenie niestandardowych implementacji interfejsu Writable .....................................................132
Platformy do obsługi serializacji ..............................................................................................................137
Plikowe struktury danych ............................................................................................................................138
Klasa SequenceFile .....................................................................................................................................138
Klasa MapFile .............................................................................................................................................145
Inne formaty plików i formaty kolumnowe ...........................................................................................146
Cz
II. Model MapReduce ........................................................................ 149
API do obsługi konfiguracji ........................................................................................................................151
Łączenie zasobów .......................................................................................................................................152
Podstawianie wartości zmiennych ...........................................................................................................153
Przygotowywanie środowiska programowania .....................................................................................154
Zarządzanie konfiguracją ..........................................................................................................................155
GenericOptionsParser, Tool i ToolRunner ............................................................................................158
Pisanie testów jednostkowych za pomocą biblioteki MRUnit ...............................................................161
Mapper .........................................................................................................................................................161
Reduktor ......................................................................................................................................................164
Uruchamianie kodu lokalnie na danych testowych .................................................................................164
Uruchamianie zadania w lokalnym mechanizmie wykonywania zadań ...........................................165
Testowanie sterownika ..............................................................................................................................166
Uruchamianie programów w klastrze .......................................................................................................167
Tworzenie pakietu z zadaniem .................................................................................................................168
Uruchamianie zadania ..............................................................................................................................169
Sieciowy interfejs użytkownika modelu MapReduce ...........................................................................171
Pobieranie wyników ..................................................................................................................................174
Debugowanie zadania ................................................................................................................................175
Dzienniki w Hadoopie ...............................................................................................................................178
Zdalne diagnozowanie ...............................................................................................................................180
Dostrajanie zadania ......................................................................................................................................181
Profilowanie operacji .................................................................................................................................181
Przepływ pracy w modelu MapReduce .....................................................................................................182
Rozbijanie problemu na zadania w modelu MapReduce .....................................................................183
JobControl ...................................................................................................................................................184
Apache Oozie ..............................................................................................................................................185
Rozdział 6. Budowanie aplikacji w modelu MapReduce ....................................................... 151
Rozdział 7. Jak działa model MapReduce? ........................................................................... 191
Wykonywanie zadań w modelu MapReduce ............................................................................................191
Przesyłanie zadania ....................................................................................................................................192
Inicjowanie zadania ...................................................................................................................................193
Przypisywanie operacji do węzłów ..........................................................................................................194
Spis treści
7
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin