Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
map / reduceを使用して同じディレクトリ内にあるいくつかの小さなファイルをマージします。ストリーミングの使用は非常に簡単だと誰かが言っているのを見ましたが、現在はJAVA map/reduceしか使用できません。今の私の解決策は、ファイルを1レコードずつ読み取り、同じ出力ファイルに書き込むことですが、非効率的だと思います。ファイル全体のコンテンツをマッパーの値として使用して、I / O効率を向上させることはできますか?お返事をありがとうございます!
これを行う「非効率的な」方法は、ファイルをキャットして書き戻すことです。
hadoop fs -cat /path/to/files/*.txt | hadoop fs -put - /output/path/blobbed.txt
これは、さらに大きなデータセットでも問題なく機能することがわかります。