違いはありますか。hadoopおよびhadoopストリーミングのInputFormats。 hadoopストリーミングの入力フォーマットは、hadoopでも機能しますか。 私はウィキペディアのダンプファイルのための特別な入力フォーマット、wikihadoop InputFormatを見つけたのでこれを求めています。そしてそれはそれがhadoopストリーミングのための入力フォーマットであると書かれていますか?ハドープストリーミングのみの理由そして、hadoopのためではありませんか?
ベスト
回答:
回答№1は0私の知る限りでは、HadoopストリーミングジョブとJavaで書かれた通常のMapReduceジョブの間で入力の処理方法に違いはありません。
の継承ツリー StreamWikiDumpInputFormat
は…
* InputFormat
* FileInputFormat
* KeyValueTextInputFormat
* StreamWikiDumpInputFormat
そしてそれは最終的には実装されているので InputFormat
通常のMapReduceジョブで使用できます。
回答№2の場合は0
いいえ。MRジョブの種類(ストリーミングまたはJava)は、InputFormatを使用(または開発)するための基準ではありません。 InputFormatは単なるInputFormatであり、ストリーミングとJava MRの両方のジョブで機能します。それはあなたが処理しようとしているデータのタイプであり、それに基づいてあなたはInputFormatを使う(あるいは開発する)。 Hadoopは、通常、ニーズを処理するのに十分な、さまざまなタイプのInputFormatsをネイティブに提供します。しかし、ときにはあなたのデータはこれらのInputFormatのどれもがそれを扱うことができないような状態にあります。
とは言っても、MRを使用してそのデータを処理することは依然として可能です。ここで、上記で指定したものとして、独自のカスタムInputFormatを作成します。
そして、私は彼らがなぜ強調したのかわからない。Hadoopストリーミングこれは、InputFormatが行うべきすべてのことを実行し、それに適したものをすべて実装するJavaクラスです。@climbageは、これに関して非常に有効なポイントを示しています。 java。
回答№3の場合は0
通常の入力フォーマットとhadoopストリーミング用に開発されたものとの間に違いはありません。
著者がそのフォーマットがHadoopストリーミング用に開発されたと言ったとき、彼女は自分の入力フォーマットが意味のあるtoStringメソッドを持つオブジェクトを生成することを意味しました。それでおしまい。
たとえば、Hadoopストリーミングで使用するための入力フォーマットを開発するときは、BinaryWritableを避けて代わりにTextを使用します。