Hadoop -- Komplety przewodnik. Analiza i przechowywanie danych

Book description

Analiza danych z Hadoopem — i wszystko staje się prostsze!
Podstawy Hadoopa i model MapReduce
Praca z Hadoopem, budowa klastra i zarządzanie platformą
Dodatki zwiększające funkcjonalność Hadoopa
Platforma Apache Hadoop to jedno z zaawansowanych narzędzi informatycznych. Dzięki niej można przeprowadzać różne operacje na dużych ilościach danych i znacznie skrócić czas wykonywania tych działań. Wszędzie tam, gdzie potrzebne jest szybkie sortowanie, obliczanie i archiwizowanie danych — np. w dużych międzynarodowych sklepach internetowych, serwisach społecznościowych lub wyszukiwarkach, takich jak Amazon, Facebook, Yahoo!, Apache Hadoop sprawdza się znakomicie. Jeśli potrzebne Ci narzędzie do poważnej analizy dużych zbiorów danych, nie znajdziesz lepszego rozwiązania!

Tę książkę napisał wytrawny znawca i współtwórca Hadoopa. Przedstawia w niej wszystkie istotne mechanizmy działania platformy i pokazuje, jak efektywnie jej używać. Dowiesz się stąd, do czego służą model MapReduce oraz systemy HDFS i YARN. Nauczysz się budować aplikacje oraz klastry. Poznasz dwa formaty danych, a także wykorzystasz narzędzia do ich pobierania i transferu. Sprawdzisz, jak wysokopoziomowe narzędzia do przetwarzania danych współdziałają z Hadoopem. Zorientujesz się, jak działa rozproszona baza danych i jak zarządzać konfiguracją w środowisku rozproszonym. Przeczytasz również o nowinkach w Hadoopie 2 i prześledzisz studia przypadków ilustrujące rolę Hadoopa w systemach służby zdrowia i przy przetwarzaniu danych o genomie.
Hadoop i model MapReduce
Systemy HDFS i YARN
Operacje wejścia – wyjścia w platformie Hadoop
Typy, formaty, funkcje i budowa aplikacji w modelu MapReduce
Zarządzanie platformą Hadoop
Avro, Parquet, Flume i Sqoop — metody pracy z danymi
Pig, Hive, Crunch i Spark — wysokopoziomowe narzędzia do przetwarzania danych
HBase i ZooKeeper — praca w środowisku rozproszonym
Integrowanie danych w firmie Cerner
Nauka o danych biologicznych
Cascading
Hadoop — rozwiązanie na miarę wyzwań globalnych!

Table of contents

  1. Przedmowa
  2. Wprowadzenie
    1. Kwestie porządkowe
    2. Co nowego znajdziesz w wydaniu czwartym?
    3. Konwencje stosowane w tej książce
    4. Korzystanie z przykładowego kodu
    5. Podziękowania
  3. Część I Podstawy platformy Hadoop
    1. Rozdział 1. Poznaj platformę Hadoop
      1. Dane!
      2. Przechowywanie i analizowanie danych
      3. Przetwarzanie w zapytaniach wszystkich danych
      4. Poza przetwarzanie wsadowe
      5. Porównanie z innymi systemami
        1. Systemy RDBMS
        2. Przetwarzanie sieciowe
        3. Przetwarzanie z udziałem ochotników
      6. Krótka historia platformy Apache Hadoop
      7. Zawartość książki
    2. Rozdział 2. Model MapReduce
      1. Zbiór danych meteorologicznych
        1. Format danych
      2. Analizowanie danych za pomocą narzędzi uniksowych
      3. Analizowanie danych za pomocą Hadoopa
        1. Mapowanie i redukcja
        2. Model MapReduce w Javie
          1. Przebieg testowy
      4. Skalowanie
        1. Przepływ danych
        2. Funkcje łączące
          1. Tworzenie funkcji łączącej
        3. Wykonywanie rozproszonego zadania w modelu MapReduce
      5. Narzędzie Streaming Hadoop
        1. Ruby
        2. Python
    3. Rozdział 3. System HDFS
      1. Projekt systemu HDFS
      2. Pojęcia związane z systemem HDFS
        1. Bloki
        2. Węzły nazw i węzły danych
        3. Zapisywanie bloków w pamięci podręcznej
        4. Federacje w systemie HDFS
        5. Wysoka dostępność w systemie HDFS
          1. Przełączanie awaryjne i odgradzanie
      3. Interfejs uruchamiany z wiersza poleceń
        1. Podstawowe operacje w systemie plików
      4. Systemy plików w Hadoopie
        1. Interfejsy
          1. HTTP
          2. C
          3. NFS
          4. FUSE
      5. Interfejs w Javie
        1. Odczyt danych na podstawie adresu URL systemu Hadoop
        2. Odczyt danych za pomocą interfejsu API FileSystem
          1. Klasa FSDataInputStream
        3. Zapis danych
          1. Klasa FSDataOutputStream
        4. Katalogi
        5. Zapytania w systemie plików
          1. Metadane plików — klasa FileStatus
          2. Wyświetlanie list plików
          3. Wzorce reprezentujące pliki
          4. Interfejs PathFilter
        6. Usuwanie danych
      6. Przepływ danych
        1. Anatomia odczytu pliku
        2. Anatomia procesu zapisu danych do pliku
        3. Model zapewniania spójności
          1. Wpływ na projekt aplikacji
      7. Równoległe kopiowanie za pomocą programu distcp
        1. Zachowywanie równowagi w klastrach z systemem HDFS
    4. Rozdział 4. System YARN
      1. Struktura działania aplikacji w systemie YARN
        1. Żądania zasobów
        2. Czas życia aplikacji
        3. Budowanie aplikacji systemu YARN
      2. System YARN a implementacja MapReduce 1
      3. Szeregowanie w systemie YARN
        1. Dostępne programy szeregujące
        2. Konfigurowanie programu szeregującego Capacity
          1. Rozmieszczanie aplikacji w kolejkach
        3. Konfigurowanie programu szeregującego Fair
          1. Włączanie programu szeregującego Fair
          2. Konfigurowanie kolejki
          3. Rozmieszczanie w kolejkach
          4. Wywłaszczanie
        4. Szeregowanie z opóźnieniem
        5. Podejście Dominant Resource Fairness
      4. Dalsza lektura
    5. Rozdział 5. Operacje wejścia-wyjścia w platformie Hadoop
      1. Integralność danych
        1. Integralność danych w systemie HDFS
        2. Klasa LocalFileSystem
        3. Klasa ChecksumFileSystem
      2. Kompresja
        1. Kodeki
          1. Kompresja i dekompresja strumieni za pomocą kodeka CompressionCodec
          2. Określanie kodeków CompressionCodec za pomocą klasy CompressionCodecFactory
          3. Biblioteki natywne
            1. Klasa CodecPool
        2. Kompresja i podział danych wejściowych
        3. Wykorzystywanie kompresji w modelu MapReduce
          1. Kompresja danych wyjściowych z etapu mapowania
        4. Serializacja
        5. Interfejs Writable
          1. Interfejs WritableComparable i komparatory
        6. Klasy z rodziny Writable
          1. Nakładki typu Writable dla typów prostych Javy
          2. Text
            1. Indeksowanie
            2. Unicode
            3. Iteracje
            4. Możliwość modyfikowania
            5. Uciekanie się do typu String
            6. Klasa BytesWritable
          3. Klasa NullWritable
          4. Klasy ObjectWritable i GenericWritable
          5. Kolekcje z rodziny Writable
        7. Tworzenie niestandardowych implementacji interfejsu Writable
          1. Implementowanie interfejsu RawComparator z myślą o szybkości
          2. Niestandardowe komparatory
        8. Platformy do obsługi serializacji
          1. Język IDL dla serializacji
      3. Plikowe struktury danych
        1. Klasa SequenceFile
          1. Zapis danych w plikach typu SequenceFile
          2. Odczyt danych z plików typu SequenceFile
          3. Wyświetlanie zawartości plików typu SequenceFile z poziomu wiersza poleceń
          4. Sortowanie i scalanie plików typu SequenceFile
          5. Format SequenceFile
        2. Klasa MapFile
          1. Odmiany klasy MapFile
        3. Inne formaty plików i formaty kolumnowe
  4. Część II Model MapReduce
    1. Rozdział 6. Budowanie aplikacji w modelu MapReduce
      1. API do obsługi konfiguracji
        1. Łączenie zasobów
        2. Podstawianie wartości zmiennych
        3. Przygotowywanie środowiska programowania
        4. Zarządzanie konfiguracją
        5. GenericOptionsParser, Tool i ToolRunner
      2. Pisanie testów jednostkowych za pomocą biblioteki MRUnit
        1. Mapper
        2. Reduktor
      3. Uruchamianie kodu lokalnie na danych testowych
        1. Uruchamianie zadania w lokalnym mechanizmie wykonywania zadań
        2. Testowanie sterownika
      4. Uruchamianie programów w klastrze
        1. Tworzenie pakietu z zadaniem
          1. Ścieżka do klas po stronie klienta
          2. Ścieżka do klas dla operacji
          3. Dodawanie zależności do pakietu
          4. Kolejność uwzględniania ścieżek do klas operacji
        2. Uruchamianie zadania
        3. Sieciowy interfejs użytkownika modelu MapReduce
          1. Strona menedżera zasobów
          2. Strona zadania w modelu MapReduce
        4. Pobieranie wyników
        5. Debugowanie zadania
          1. Strony operacji i prób wykonania operacji
          2. Obsługa nieprawidłowych danych
        6. Dzienniki w Hadoopie
        7. Zdalne diagnozowanie
      5. Dostrajanie zadania
        1. Profilowanie operacji
          1. Profiler HPROF
      6. Przepływ pracy w modelu MapReduce
        1. Rozbijanie problemu na zadania w modelu MapReduce
        2. JobControl
        3. Apache Oozie
          1. Definiowanie przepływu pracy w systemie Oozie
          2. Pakowanie i instalowanie aplikacji opartej na przepływie pracy z systemu Oozie
          3. Uruchamianie zadań z przepływu pracy w systemie Oozie
    2. Rozdział 7. Jak działa model MapReduce?
      1. Wykonywanie zadań w modelu MapReduce
        1. Przesyłanie zadania
        2. Inicjowanie zadania
        3. Przypisywanie operacji do węzłów
        4. Wykonywanie operacji
          1. Narzędzie Streaming
        5. Aktualizowanie informacji o postępie i statusu
        6. Ukończenie zadania
      2. Niepowodzenia
        1. Niepowodzenie operacji
        2. Niepowodzenie zarządcy aplikacji
        3. Niepowodzenie menedżera węzła
        4. Niepowodzenie menedżera zasobów
      3. Przestawianie i sortowanie
        1. Etap mapowania
        2. Etap redukcji
        3. Dostrajanie konfiguracji
      4. Wykonywanie operacji
        1. Środowisko wykonywania operacji
          1. Zmienne środowiskowe narzędzia Streaming
        2. Wykonywanie spekulacyjne
        3. Klasy z rodziny OutputCommitter
          1. Pliki pomocnicze operacji
    3. Rozdział 8. Typy i formaty z modelu MapReduce
      1. Typy w modelu MapReduce
        1. Domyślne zadanie z modelu MapReduce
          1. Domyślne zadanie w narzędziu Streaming
          2. Klucze i wartości w narzędziu Streaming
      2. Formaty wejściowe
        1. Wejściowe porcje danych i rekordy
          1. Klasa FileInputFormat
          2. Ścieżki do danych wejściowych
          3. Porcje danych wejściowych z klasy FileInputFormat
          4. Małe pliki i format CombineFileInputFormat
          5. Zapobieganie podziałowi na porcje
          6. Informacje o pliku w mapperze
          7. Przetwarzanie całego pliku jako rekordu
        2. Tekstowe dane wejściowe
          1. Klasa TextInputFormat
            1. Ustawianie maksymalnej długości wierszy
          2. Klasa KeyValueTextInputFormat
          3. Klasa NLineInputFormat
          4. XML
        3. Binarne dane wejściowe
          1. Klasa SequenceFileInputFormat
          2. Klasa SequenceFileAsTextInputFormat
          3. Klasa SequenceFileAsBinaryInputFormat
          4. Klasa FixedLengthInputFormat
        4. Różne dane wejściowe
        5. Dane wejściowe (i wyjściowe) z bazy
      3. Formaty danych wyjściowych
        1. Tekstowe dane wyjściowe
        2. Binarne dane wyjściowe
          1. Klasa SequenceFileOutputFormat
          2. Klasa SequenceFileAsBinaryOutputFormat
          3. Klasa MapFileOutputFormat
        3. Wiele danych wyjściowych
          1. Przykład — partycjonowanie danych
          2. Klasa MultipleOutputs
        4. Leniwe generowanie danych wyjściowych
        5. Dane wyjściowe dla bazy
    4. Rozdział 9. Funkcje modelu MapReduce
      1. Liczniki
        1. Liczniki wbudowane
          1. Liczniki operacji
          2. Liczniki zadań
        2. Zdefiniowane przez użytkowników liczniki Javy
          1. Dynamiczne liczniki
          2. Pobieranie wartości liczników
        3. Zdefiniowane przez użytkownika liczniki narzędzia Streaming
      2. Sortowanie
        1. Przygotowania
        2. Częściowe sortowanie
        3. Sortowanie wszystkich danych
        4. Sortowanie pomocnicze
          1. Kod w Javie
          2. Narzędzie Streaming
      3. Złączanie
        1. Złączanie po stronie mapowania
        2. Złączanie po stronie redukcji
      4. Rozdzielanie danych pomocniczych
        1. Wykorzystanie konfiguracji zadania
        2. Rozproszona pamięć podręczna
          1. Użytkowanie
          2. Jak to działa?
          3. Interfejs API rozproszonej pamięci podręcznej
      5. Klasy biblioteczne modelu MapReduce
  5. Część III Praca z platformą Hadoop
    1. Rozdział 10. Budowanie klastra opartego na platformie Hadoop
      1. Specyfikacja klastra
        1. Określanie wielkości klastra
          1. Scenariusze z węzłem nadrzędnym
        2. Topologia sieci
          1. Uwzględnianie szafek
      2. Przygotowywanie i instalowanie klastra
        1. Instalowanie Javy
        2. Tworzenie kont użytkowników w Uniksie
        3. Instalowanie Hadoopa
        4. Konfigurowanie ustawień protokołu SSH
        5. Konfigurowanie Hadoopa
        6. Formatowanie systemu plików HDFS
        7. Uruchamianie i zatrzymywanie demonów
        8. Tworzenie katalogów użytkowników
      3. Konfiguracja Hadoopa
        1. Zarządzanie konfiguracją
        2. Ustawienia środowiskowe
          1. Java
          2. Wielkość sterty
          3. Pliki dzienników systemowych
          4. Ustawienia protokołu SSH
        3. Ważne właściwości demonów Hadoopa
          1. System HDFS
          2. System YARN
          3. Ustawienia pamięci w systemie YARN i modelu MapReduce
          4. Ustawienia systemu YARN i modelu MapReduce dotyczące procesora
        4. Adresy i porty demonów Hadoopa
        5. Inne właściwości Hadoopa
          1. Przynależność do klastra
          2. Wielkość bufora
          3. Wielkość bloku w systemie HDFS
          4. Zarezerwowane miejsce
          5. Kosz
          6. Program szeregujący zadania
          7. Opóźniony start operacji redukcji
          8. Skrócony odczyt danych lokalnych
      4. Bezpieczeństwo
        1. Kerberos i Hadoop
          1. Przykład
        2. Tokeny do delegowania uprawnień
        3. Inne usprawnienia w zabezpieczeniach
      5. Testy porównawcze klastra opartego na Hadoopie
        1. Testy porównawcze w Hadoopie
          1. Przeprowadzanie testów porównawczych na modelu MapReduce za pomocą programu TeraSort
          2. Inne testy porównawcze
        2. Zadania użytkowników
    2. Rozdział 11. Zarządzanie platformą Hadoop
      1. System HDFS
        1. Trwałe struktury danych
          1. Struktura katalogów węzła nazw
          2. Pliki obrazu i dziennika edycji systemu plików
          3. Struktura katalogów pomocniczego węzła nazw
          4. Struktura katalogów węzła danych
        2. Tryb bezpieczny
          1. Włączanie i wyłączanie trybu bezpiecznego
        3. Rejestrowanie dziennika inspekcji
        4. Narzędzia
          1. dfsadmin
          2. Sprawdzanie systemu plików (narzędzie fsck)
            1. Wyszukiwanie bloków pliku
          3. Skaner bloków węzła danych
          4. Program balancer
      2. Monitorowanie
        1. Rejestrowanie informacji w dziennikach
          1. Ustawianie poziomu rejestrowania informacji
          2. Pobieranie śladu stosu
        2. Wskaźniki i technologia JMX
      3. Konserwacja
        1. Standardowe procedury administracyjne
          1. Kopie zapasowe metadanych
          2. Kopie zapasowe danych
          3. Sprawdzanie systemu plików (narzędzie fsck)
          4. Używanie programu balancer w systemie plików
        2. Dodawanie i usuwanie węzłów
          1. Dodawanie nowych węzłów
          2. Usuwanie węzłów
        3. Aktualizacje
          1. Aktualizowanie danych i metadanych w systemie HDFS
            1. Rozpoczynanie aktualizacji
            2. Oczekiwanie na zakończenie procesu aktualizacji
            3. Sprawdzanie aktualizacji
            4. Opcjonalne wycofywanie aktualizacji
            5. Opcjonalne finalizowanie aktualizacji
  6. Część IV Powiązane projekty
    1. Rozdział 12. Avro
      1. Typy danych i schematy systemu Avro
      2. Serializacja i deserializacja w pamięci
        1. Specyficzny interfejs API
      3. Pliki danych systemu Avro
      4. Współdziałanie języków
        1. Interfejs API dla Pythona
        2. Narzędzia systemu Avro
      5. Określanie schematu
      6. Porządek sortowania
      7. Avro i model MapReduce
      8. Sortowanie za pomocą modelu MapReduce i systemu Avro
      9. Używanie systemu Avro w innych językach
    2. Rozdział 13. Parquet
      1. Model danych
        1. Kodowanie struktury zagnieżdżonych danych
      2. Format plików Parquet
      3. Konfiguracja dla formatu Parquet
      4. Zapis i odczyt plików w formacie Parquet
        1. Avro, Protocol Buffers i Thrift
          1. Projekcja i schematy odczytu
      5. Format Parquet i model MapReduce
    3. Rozdział 14. Flume
      1. Instalowanie platformy Flume
      2. Przykład
      3. Transakcje i niezawodność
        1. Porcje zdarzeń
      4. Ujścia w systemie HDFS
        1. Podział na partycje i interceptory
        2. Formaty plików
      5. Rozsyłanie danych do wielu kanałów
        1. Gwarancje dostarczenia
        2. Selektory replikacji i rozsyłania
      6. Dystrybucja — warstwy agentów
        1. Gwarancje dostarczenia danych
      7. Grupy ujść
      8. Integrowanie platformy Flume z aplikacjami
      9. Katalog komponentów
      10. Dalsza lektura
    4. Rozdział 15. Sqoop
      1. Pobieranie Sqoopa
      2. Konektory Sqoopa
      3. Przykładowa operacja importu
        1. Formaty plików tekstowych i binarnych
      4. Wygenerowany kod
        1. Inne systemy serializacji
      5. Importowanie — dokładne omówienie
      6. Kontrolowanie procesu importu
        1. Import i spójność
        2. Przyrostowy import
        3. Importowanie w trybie bezpośrednim
      7. Praca z zaimportowanymi danymi
        1. Importowane dane i platforma Hive
      8. Importowanie dużych obiektów
      9. Eksportowanie
      10. Eksportowanie — dokładne omówienie
        1. Eksport i transakcje
        2. Eksport i pliki typu SequenceFile
      11. Dalsza lektura
    5. Rozdział 16. Pig
      1. Instalowanie i uruchamianie platformy Pig
        1. Tryby wykonywania
          1. Tryb lokalny
          2. Tryb modelu MapReduce
        2. Uruchamianie programów platformy Pig
        3. Grunt
        4. Edytory kodu w języku Pig Latin
      2. Przykład
        1. Generowanie przykładowych danych
      3. Porównanie platformy Pig z bazami danych
      4. Język Pig Latin
        1. Struktura
        2. Instrukcje
        3. Wyrażenia
        4. Typy
        5. Schematy
          1. Używanie tabel platformy Hive za pomocą komponentu HCatalog
          2. Sprawdzanie poprawności i wartości null
          3. Scalanie schematów
        6. Funkcje
          1. Inne biblioteki
        7. Makra
      5. Funkcje zdefiniowane przez użytkownika
        1. Funkcje UDF służące do filtrowania
          1. Wykorzystywanie typów
        2. Obliczeniowa funkcja UDF
          1. Dynamiczne obiekty wywołujące
        3. Funkcje UDF służące do wczytywania danych
          1. Używanie schematu
      6. Operatory używane do przetwarzania danych
        1. Wczytywanie i zapisywanie danych
        2. Filtrowanie danych
          1. Operator FOREACH…GENERATE
          2. Operator STREAM
        3. Grupowanie i złączanie danych
          1. Operator JOIN
          2. Instrukcja COGROUP
          3. Operator CROSS
          4. Instrukcja GROUP
        4. Sortowanie danych
        5. Łączenie i dzielenie danych
      7. Platforma Pig w praktyce
        1. Współbieżność
        2. Relacje anonimowe
        3. Podstawianie wartości pod parametry
          1. Parametry dynamiczne
          2. Proces podstawiania wartości pod parametry
      8. Dalsza lektura
    6. Rozdział 17. Hive
      1. Instalowanie platformy Hive
        1. Powłoka platformy Hive
      2. Przykład
      3. Uruchamianie platformy Hive
        1. Konfigurowanie platformy Hive
          1. Silniki wykonawcze
          2. Rejestrowanie
        2. Usługi platformy Hive
          1. Klienty platformy Hive
        3. Magazyn metadanych
      4. Porównanie z tradycyjnymi bazami danych
        1. Uwzględnianie schematu przy odczycie lub przy zapisie
        2. Aktualizacje, transakcje i indeksy
        3. Inne silniki obsługujące język SQL w Hadoopie
      5. HiveQL
        1. Typy danych
          1. Typy proste
          2. Typy złożone
        2. Operatory i funkcje
          1. Konwersje
      6. Tabele
        1. Tabele zarządzane i tabele zewnętrzne
        2. Partycje i kubełki
          1. Partycje
          2. Kubełki
        3. Formaty przechowywania danych
          1. Domyślny format przechowywania — tekst z ogranicznikami
          2. Binarne formaty przechowywania — pliki SequenceFile, pliki danych systemu Avro, pliki Parqueta, pliki RCFile i ORCFile
          3. Używanie niestandardowego formatu SerDe — RegexSerDe
          4. Klasy dostępu do danych
        4. Importowanie danych
          1. Instrukcja INSERT
          2. Wstawianie danych do wielu tabel
          3. Instrukcja CREATE TABLE…AS SELECT
        5. Modyfikowanie tabel
        6. Usuwanie tabel
      7. Pobieranie danych
        1. Sortowanie i agregacja danych
        2. Skrypty modelu MapReduce
        3. Złączenia
          1. Złączenia wewnętrzne
          2. Złączenia zewnętrzne
          3. Złączenia częściowe
          4. Złączenia na etapie mapowania
        4. Podzapytania
        5. Widoki
      8. Funkcje zdefiniowane przez użytkowników
        1. Pisanie funkcji UDF
        2. Pisanie funkcji UDAF
          1. Bardziej skomplikowana funkcja UDAF
      9. Dalsza lektura
    7. Rozdział 18. Crunch
      1. Przykład
      2. Podstawowe interfejsy API Cruncha
        1. Proste operacje
          1. Metoda union()
          2. Metoda parallelDo()
          3. Metoda groupByKey()
          4. Metoda combineValues()
        2. Typy
          1. Rekordy i krotki
        3. Źródłowe i docelowe zbiory danych
          1. Wczytywanie danych ze źródła
          2. Zapisywanie danych w docelowej lokalizacji
          3. Istniejące lokalizacje wyjściowe
          4. Docelowa lokalizacja pełniąca funkcję źródła
        4. Funkcje
          1. Serializacja funkcji
          2. Ponowne wykorzystanie obiektów
        5. Materializacja
          1. Klasa PObject
      3. Wykonywanie potoku
        1. Uruchamianie potoku
          1. Asynchroniczne wykonywanie metod
          2. Diagnozowanie
        2. Zatrzymywanie potoku
        3. Inspekcja planu wykonania w Crunchu
        4. Algorytmy iteracyjne
        5. Tworzenie punktów kontrolnych w potokach
      4. Biblioteki w Crunchu
      5. Dalsza lektura
    8. Rozdział 19. Spark
      1. Instalowanie Sparka
      2. Przykład
        1. Aplikacje, zadania, etapy i operacje w Sparku
        2. Niezależna aplikacja w języku Scala
        3. Przykład napisany w Javie
        4. Przykład napisany w Pythonie
      3. Zbiory RDD
        1. Tworzenie zbiorów RDD
        2. Transformacje i akcje
          1. Transformacje związane z agregacją
        3. Utrwalanie danych
          1. Poziomy utrwalania
        4. Serializacja
          1. Dane
          2. Funkcje
      4. Zmienne współużytkowane
        1. Zmienne rozsyłane
        2. Akumulatory
      5. Anatomia przebiegu zadania w Sparku
        1. Przesyłanie zadań
        2. Tworzenie skierowanego grafu acyklicznego
        3. Szeregowanie operacji
        4. Wykonywanie operacji
      6. Wykonawcy i menedżery klastra
        1. Spark i YARN
          1. Tryb klienta systemu YARN
          2. Tryb klastra z systemem YARN
      7. Dalsza lektura
    9. Rozdział 20. HBase
      1. Podstawy
        1. Tło historyczne
      2. Omówienie zagadnień
        1. Krótki przegląd modelu danych
          1. Regiony
          2. Blokady
        2. Implementacja
          1. Działanie bazy HBase
      3. Instalacja
        1. Przebieg testowy
      4. Klienty
        1. Java
        2. Model MapReduce
        3. Interfejsy REST i Thrift
      5. Budowanie interaktywnej aplikacji do przesyłania zapytań
        1. Projekt schematu
        2. Wczytywanie danych
          1. Rozkładanie obciążenia
          2. Masowe wczytywanie danych
        3. Zapytania interaktywne
          1. Zapytania o stacje
          2. Zapytania o odczyty
      6. Baza HBase a bazy RDBMS
        1. Historia cieszącej się powodzeniem usługi
        2. Baza HBase
      7. Bazy HBase w praktyce
        1. System HDFS
        2. Interfejs użytkownika
        3. Wskaźniki
        4. Liczniki
      8. Dalsza lektura
    10. Rozdział 21. ZooKeeper
      1. Instalowanie i uruchamianie systemu ZooKeeper
      2. Przykład
        1. Przynależność do grupy w systemie ZooKeeper
        2. Tworzenie grupy
        3. Dołączanie członków do grupy
        4. Wyświetlanie członków grupy
          1. Narzędzia ZooKeepera uruchamiane w wierszu poleceń
        5. Usuwanie grupy
      3. Usługa ZooKeeper
        1. Model danych
          1. Tymczasowe węzły znode
          2. Numery
          3. Czujki
        2. Operacje
          1. Wykonywanie grup operacji
          2. Interfejsy API
          3. Wyzwalacze czujek
          4. Listy ACL
        3. Implementacja
        4. Spójność
        5. Sesje
          1. Czas
        6. Stany
      4. Budowanie aplikacji z wykorzystaniem ZooKeepera
        1. Usługa do zarządzania konfiguracją
        2. Odporna na błędy aplikacja ZooKeepera
          1. InterruptedException
          2. KeeperException
            1. Wyjątki związane ze stanem
            2. Wyjątki umożliwiające wznowienie pracy
            3. Wyjątki bez możliwości wznowienia pracy
          3. Odporna na błędy usługa do zarządzania konfiguracją
        3. Usługa do zarządzania blokadami
          1. Efekt stada
          2. Wyjątki umożliwiające wznowienie pracy
          3. Wyjątki bez możliwości wznowienia pracy
          4. Implementacja
        4. Inne rozproszone struktury danych i protokoły
          1. BookKeeper i Hedwig
      5. ZooKeeper w środowisku produkcyjnym
        1. Odporność a wydajność
        2. Konfiguracja
      6. Dalsza lektura
  7. Część V Studia przypadków
    1. Rozdział 22. Integrowanie danych w firmie Cerner
      1. Od integracji procesorów do integracji semantycznej
      2. Poznaj platformę Crunch
      3. Budowanie kompletnego obrazu
      4. Integrowanie danych z obszaru opieki zdrowotnej
      5. Możliwość łączenia danych w różnych platformach
      6. Co dalej?
    2. Rozdział 23. Nauka o danych biologicznych — ratowanie życia za pomocą oprogramowania
      1. Struktura DNA
      2. Kod genetyczny — przekształcanie liter DNA w białka
      3. Traktowanie kodu DNA jak kodu źródłowego
      4. Projekt poznania ludzkiego genomu i genomy referencyjne
      5. Sekwencjonowanie i wyrównywanie DNA
      6. ADAM — skalowalna platforma do analizy genomu
        1. Programowanie piśmienne za pomocą języka IDL systemu Avro
        2. Dostęp do danych kolumnowych w formacie Parquet
        3. Prosty przykład — zliczanie k-merów za pomocą Sparka i ADAM-a
      7. Od spersonalizowanych reklam do spersonalizowanej medycyny
      8. Dołącz do projektu
    3. Rozdział 24. Cascading
      1. Pola, krotki i potoki
        1. Operacje
      2. Typy Tap, Scheme i Flow
      3. Cascading w praktyce
        1. Elastyczność
      4. Hadoop i Cascading w serwisie ShareThis
      5. Podsumowanie
  8. Dodatki
    1. Dodatek A Instalowanie platformy Apache Hadoop
      1. Wymagania wstępne
      2. Instalacja
      3. Konfiguracja
        1. Tryb niezależny
        2. Tryb pseudorozproszony
          1. Konfigurowanie usługi SSH
          2. Formatowanie systemu plików HDFS
          3. Uruchamianie i zatrzymywanie demonów
          4. Tworzenie katalogu użytkownika
        3. Tryb rozproszony
    2. Dodatek B Dystrybucja firmy Cloudera
    3. Dodatek C Przygotowywanie danych meteorologicznych od instytucji NCDC
    4. Dodatek D Dawny i nowy interfejs API Javy dla modelu MapReduce
      1. O autorze
      2. Kolofon

Product information

  • Title: Hadoop -- Komplety przewodnik. Analiza i przechowywanie danych
  • Author(s): Tom White
  • Release date: March 2015
  • Publisher(s): Helion
  • ISBN: 9781098125301