Hadoop Jobへの入力としてHadoop Sequentilファイルを読み取る方法は?
-
27-10-2019 - |
質問
タイプのキー値ペアを持つシーケンシャルファイルがあります 「org.apache.hadoop.typedbytes.typedbyteswritable」 、このファイルをHadoopジョブへの入力として提供し、マップでのみ処理する必要があります。つまり、削減する必要があることは何でもする必要はありません。
1)fileInputFormatをシーケンシャルファイルとして指定するにはどうすればよいですか?
2)マップ関数の署名は何ですか。
3)削減する代わりにMAPから出力を取得するにはどうすればよいですか?
解決
1)fileInputFormatをシーケンシャルファイルとして指定するにはどうすればよいですか?
をセットする SequenceFileAsbinaryInputFormat 入力形式として。これが次のとおりです コード SequenceFileAsbinaryInputFormatクラスの場合。
これがコードです
JobConf conf = new JobConf(getConf(), getClass());
conf.setInputFormat(SequenceFileAsBinaryInputFormat.class);
2)マップ関数の署名は何ですか。
マップは、キーと値のタイプとしてbyteswritableで呼び出されます。
3)削減する代わりにMAPから出力を取得するにはどうすればよいですか?
をセットする mapred.reduce.tasks
プロパティ。マップの出力は、ジョブの最終出力になります。
また、を見てください SequenceFilEastExtInputFormat. 。マップは、キーと値のタイプとしてテキストで呼び出されます。
所属していません StackOverflow