2017-11-07 4 views
0

私にはMapReduceを実行するために必要なファイルがCSV個あります。手前のデータ(Pythonまたは他のツール)に参加してからMapReduceまで実行するのが最善でしょうか?または最初のMapReduceを完成させてから.txtの結果を次のMapReduceに送り、要約して他のデータセットに結合しますか?私はJavaHadoopを使用しており、私がオンラインで見つけた例から何かをまとめました。私は私の個人的なPCのVMでこれを実行しており、JavaHadoopに新しいです。MapReduceの結果を別のMapReduceに渡す方法(javaとhadoop)

私はソーシャルメディアのデータを扱っていますが、最初にMapReduceが投稿されています。投稿IDには不快とフラグが付けられています。今、私はCSVに参加して、その投稿を投稿したユーザーIDを与え、投稿が不快とフラグされた上位10人のユーザーと、投稿数をカウントします。

私は適切なトラックに私を得るために助けていただきありがとうございます!

+0

としてそれを書くことができますか? MapReduceはファイルのディレクトリ全体を読み取ることができます。それらをマージする必要はありません。第二に、Mapreduceを使用しないでください。少なくとも、Spark(PySpark)やHive(SQLを知っていれば) –

+0

ところで、[HadoopとMapReduceはJavaプログラミングを学ぶ場所ではありません](https://wiki.apache.org/hadoop/HadoopIsNot) –

+0

@ cricket_007、はいすべてのCSVは同じ形式です。私は一緒に必要なものを同じマッパーに持っていきます。リンクをありがとう、私はいくつかのより簡単なJavaも練習します。 – AmyJ

答えて

3

すべてのファイルの形式が同じ場合は、複数の入力を使用することも、ディレクトリ全体を入力として使用することもできます。

これを解決するために、我々は()メソッドFileInputFormat.addInputPathsを使用することができ、すべてのCSV同じ「形式」であることは、複数の入力のカンマ区切りのリストを取ることができ、我々は

FileInputFormat.addInputPaths("file0,file1,...") 
関連する問題