2015-12-08 7 views
7

Jestem nowy w Hadoop i zastanawiam się, ile jest typów InputFormat w Hadoop, takich jak TextInputFormat? Czy istnieje jakiś plik InputFormat, za pomocą którego mogę odczytywać pliki za pośrednictwem żądań http na zdalne serwery danych?Ile rodzajów InputFormat jest w Hadoop?

Dzięki :)

Odpowiedz

3

Twoje pierwsze pytanie - ile rodzaje InputFormat istnieją w Hadoop takich jak TextInputFormat?

  1. TextInputFormat - każda linia będzie traktowana jako wartość
  2. KeyValueTextInputFormat - pierwsza wartość przed separatorem jest kluczem a reszta jest wartość
  3. FixedLengthInputFormat - Każda wartość stała długość jest uważana za wartość
  4. NLineInputFormat - N liczba wierszy jest uważana za jedną wartość/rekord
  5. SequenceFileInputFormat - Dla binarnego

Istnieje również DBInputFormat do odczytu z baz danych

Drugie pytanie - nie ma formatu wejściowego do odczytu plików za pośrednictwem żądań http.

6

Istnieje wiele classes realizacji InputFormat

CombineFileInputFormat, CombineSequenceFileInputFormat, 
CombineTextInputFormat, CompositeInputFormat, DBInputFormat, 
FileInputFormat, FixedLengthInputFormat, KeyValueTextInputFormat, 
MultiFileInputFormat, NLineInputFormat, Parser.Node, 
SequenceFileAsBinaryInputFormat, SequenceFileAsTextInputFormat, 
SequenceFileInputFilter, SequenceFileInputFormat, TextInputFormat 

Zapraszamy do obejrzenia tej article na kiedy używać jaki rodzaj Inputformat.

Spośród nich najczęściej stosowane formats są:

  • FileInputFormat: klasa bazowa dla wszystkich InputFormats opartych na plikach
  • KeyValueTextInputFormat: AN InputFormat dla plików tekstowych. Pliki są podzielone na linie. Zarówno podawanie linii, jak i powrót karetki są używane do sygnalizowania końca linii. Każda linia jest podzielona na część klucz i wartość przez bajt separatora. Jeśli taki bajt nie istnieje, kluczem będzie cała linia, a wartość będzie pusta.
  • TextInputFormat: InputFormat dla plików tekstowych. Pliki są podzielone na linie. Krotność linii lub powrót karetki są używane do sygnalizowania końca linii. Klucze są pozycją w pliku, a wartością jest linia tekstu.
  • NLineInputFormat: NLineInputFormat, który dzieli N linii jako jeden podział. W wielu "przyjemnie" równoległych aplikacjach każdy proces/odwzornik przetwarza te same pliki wejściowe, ale z obliczeniami są kontrolowane przez różne parametry.
  • SequenceFileInputFormat: InputFormat dla plików sekwencji.

Jeśli chodzi o drugie zapytanie, najpierw pobierz pliki ze zdalnego servers i użyj odpowiedniego InputFileFormat w zależności od zawartości pliku. Hadoop działa najlepiej dla lokalizacji danych.

+0

Co z drugim pytaniem? Czy jest na to jakieś rozwiązanie? – Trams