IMO Hadoop は、同じキーをグループ化するだけで CPU とメモリを節約できます
(この回答のように、それはですO(n)
)、
キーを厳密にソートする代わりに(つまりO(nlgn)
)。
キーが厳密にソートされていることに依存するアプリケーションはありますか?
そうです、Map/Reduce ジョブは必ずしもキーを並べ替える必要はありません。Hadoop がこれを行うのは、主にそれがグループ化に使用されるためであり、必要だからではなく便利だからです。アプリケーションは注文に依存しません。
実際には MAPREDUCE Jiraで議論されています。実装の詳細については、そこにあるすべてのコメントを読むことをお勧めします。
興味深い逸話として、MARS プロジェクトは、独自の実装を使用してソートする代わりに、ハッシュを使用して 45% の向上を報告しました。