2015-12-08 19 views
7

私はHadoopを新しくしてHadoopにはどのように多くのタイプのInputFormatがあるのでしょうか?TextInputFormat?リモートデータサーバーへのHTTP要求を介してファイルを読み取るために使用できる特定のInputFormatがありますか?HadoopにはいくつのタイプのInputFormatがありますか?

感謝:)

答えて

3

あなたの最初の質問 - などTextInputFormatとしてHadoopの中でどのように多くの種類のInputFormatのがありますか?

  1. TextInputFormat - 各行は値
  2. KeyValueTextInputFormatとして扱われる - デリミタの前に最初の値がキーであり、残りが値
  3. FixedLengthInputFormatある - 各固定長値が値
  4. NLineInputFormatであると考えられている - N行数は1つの値/レコードとみなされます
  5. SequenceFileInputFormat - バイナリの場合

また、DBInputFormatデータベースから読み取ることがあります

2番目の質問 - http要求を介してファイルを読むための入力形式はありません。

6

InputFormat

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

を実装classes多くがありますがInputformatのどのタイプを使用するときに、このarticleを見てください。これらのうち

は、最も頻繁に使用されるformatsは以下のとおりです。

  • FileInputFormat:すべてのファイルベースのInputFormats
  • KeyValueTextInputFormat
  • の基底クラス:プレーンテキストファイル用のInputFormat。ファイルは行に分割されます。ラインフィードまたはキャリッジリターンのいずれかを使用して、ラインの終わりを知らせます。各行は、セパレータバイトによってキーと値の部分に分割されます。そのようなバイトが存在しない場合、キーは行全体になり、値は空になります。
  • TextInputFormat:プレーンテキストファイル用のInputFormat。ファイルは行に分割されます。ラインフィードまたはキャリッジリターンのいずれかを使用して、行末を通知します。キーはファイル内の位置であり、値はテキストの行です。
  • NLineInputFormat:N行の入力を1つの分割として分割するNLineInputFormat。多くの「楽しい」並列アプリケーションでは、各プロセス/マッパーは同じ入力ファイルを処理しますが、計算はさまざまなパラメータによって制御されます。
  • SequenceFileInputFormat:シーケンスファイルのInputFormat。

2番目のクエリについては、最初にファイルをリモートserversから取得し、ファイルの内容に応じて適切なInputFileFormatを使用してください。 Hadoopは、データのローカリティに最適です。

+0

2番目の質問はどうですか?それには解決策はありますか? – Trams

関連する問題