システムのこつをつかむために、hadoop で小さなテスト アプリケーションを構築することを考えています。
私が念頭に置いているアプリケーションは、統計を行う領域になります。レデューサー関数から「各キーの10個の最悪の値」が必要です(一部のキーの値が膨大になる可能性を想定する必要があります)。
私が計画したのは、レデューサーに入る値は基本的に「実際の値」と「実際の値の品質/関連性」の組み合わせになるということです。関連性に基づいて、私は「単純に」10個の最悪/最良の値を取り、それらをレデューサーから出力したいと考えています。
どうすればそれを行うことができますか (特定のキーに膨大な数の値があると仮定して)? レデューサーに送信される前にすべての値を並べ替える方法はありますか (最初の 10 個を読み取ったときに入力の読み取りを停止するだけです)、またはこれを別の方法で行う必要がありますか?
ここで誰かが私が見ることができるサンプルコードを教えてもらえますか?
更新: 2 つの興味深いJira 課題 HADOOP-485およびHADOOP-686を見つけました。
Hadoop 0.20 API でこれを使用する方法に関するコード フラグメントを持っている人はいますか?