HBase
 sql >> Baza danych >  >> NoSQL >> HBase

Co to jest Hadoop OutputFormat w MapReduce?

W naszej poprzedniej Hadoop tut o rial , przedstawiliśmy Ci szczegółowy opis InputFormat. Teraz w tym blogu omówimy format wyjściowy Hadoop.

Omówimy, co to jest OutputFormat w Hadoop, co to jest RecordWritter w MapReduce OutputFormat. Omówimy również typy OutputFormat w MapReduce.

Wprowadzenie do formatu wyjściowego Hadoop

Format wyjściowy sprawdź specyfikację wyjściową dla wykonania zadania Map-Reduce. Opisuje, w jaki sposób implementacja RecordWriter jest używana do zapisywania danych wyjściowych do plików wyjściowych.

Zanim zaczniemy z OutputFormat, najpierw dowiedzmy się, czym jest RecordWriter i jaka jest praca RecordWriter w MapReduce?

1. RecordWriter w Hadoop MapReduce

Jak wiemy, Reduktor bierze Maperów wyjście pośrednie jako wejście. Następnie uruchamia na nich funkcję redukującą, aby wygenerować dane wyjściowe, które ponownie zawierają zero lub więcej par klucz-wartość.

Tak więc RecordWriter w wykonaniu zadania MapReduce zapisuje te wyjściowe pary klucz-wartość z fazy Reducer do plików wyjściowych.

2. Format wyjściowy Hadoop

Z góry widać, że RecordWriter pobiera dane wyjściowe z Reducera. Następnie zapisuje te dane do plików wyjściowych. OutputFormat określa sposób, w jaki te wyjściowe pary klucz-wartość są zapisywane w plikach wyjściowych przez RecordWriter.

Funkcje OutputFormat i InputFormat są podobne. Instancje OutputFormat służą do zapisywania plików na dysku lokalnym lub w HDFS. W MapReduce wykonanie zadania na podstawie specyfikacji wyjściowej;

  • Zadanie Hadoop MapReduce sprawdza, czy katalog wyjściowy nie jest już obecny.
  • OutputFormat w zadaniu MapReduce udostępnia implementację RecordWriter, która ma być używana do zapisywania plików wyjściowych zadania. Następnie pliki wyjściowe są przechowywane w systemie plików.

Struktura używa FileOutputFormat.setOutputPath() metoda ustawienia katalogu wyjściowego.

Rodzaje OutputFormat w MapReduce

Istnieją różne typy OutputFormat, które są następujące:

1. TextOutputFormat

Domyślnym OutputFormat jest TextOutputFormat. Zapisuje pary (klucz, wartość) w poszczególnych wierszach plików tekstowych. Jego klucze i wartości mogą być dowolnego typu. Powodem jest to, że TextOutputFormat zamienia je w ciągi, wywołując toString() na nich.

Oddziela parę klucz-wartość za pomocą znaku tabulacji. Używając MapReduce.output.textoutputformat.separator właściwość możemy również zmienić.

KeyValueTextOutputFormat jest również używany do odczytywania tych wyjściowych plików tekstowych.

2. Format SequenceFileOutput

Ten OutputFormat zapisuje sekwencje plików dla swoich danych wyjściowych. SequenceFileInputFormat jest również pośrednim formatem używanym między zadaniami MapReduce. Serializuje do pliku dowolne typy danych.

A odpowiedni SequenceFileInputFormat dokona deserializacji pliku na te same typy. Przedstawia dane następnemumapperowi w taki sam sposób, w jaki został wyemitowany przez poprzedni reduktor. Metody statyczne kontrolują również kompresję.

3. SequenceFileAsBinaryOutputFormat

Jest to kolejny wariant SequenceFileInputFormat. Zapisuje również klucze i wartości do pliku sekwencji w formacie binarnym.

4. MapFileOutputFormat

Jest to kolejna forma FileOutputFormat. Zapisuje również dane wyjściowe jako pliki map. Struktura dodaje klucz w pliku MapFile w kolejności. Dlatego musimy upewnić się, że reduktor emituje klucze w posortowanej kolejności.

5. Wiele wyjść

Ten format umożliwia zapisywanie danych do plików, których nazwy pochodzą z kluczy wyjściowych i wartości.

6. LazyOutputFormat

Podczas wykonywania zadania MapReduce FileOutputFormat czasami tworzy pliki wyjściowe, nawet jeśli są puste. LazyOutputFormat jest także opakowaniem OutputFormat.

7. DBOutputFormat

Jest to OutputFormat do zapisu w relacyjnych bazach danych i HBase. Ten format wysyła również dane wyjściowe do tabeli SQL. Akceptuje również pary klucz-wartość. W tym przypadku klucz ma typ rozszerzający DBwritable.

Wniosek

W związku z tym, w zależności od potrzeb, używane są różne formaty wyjściowe. Mam nadzieję, że ten blog okaże się pomocny. Jeśli masz jakiekolwiek pytania dotyczące Hadoop OutputFormat, zostaw komentarz w polu komentarza. Z przyjemnością je rozwiążemy.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Przykładowa tabela HBase

  2. Hadoop — samouczki Apache Hadoop dla początkujących

  3. Instrukcje:indeksowanie zeskanowanych plików PDF na dużą skalę przy użyciu mniej niż 50 wierszy kodu

  4. Wysoka dostępność (Multi-AZ) dla operacyjnej bazy danych CDP

  5. Wykorzystanie inżynierii danych Cloudera do analizy danych programu ochrony wypłat