Scala / Hadoopシステムで並列処理するために複数のコアを最大限に活用するためのより良い方法は何ですか?
1億のドキュメントを処理する必要があるとしましょう。ドキュメントはそれほど大きくはありませんが、ドキュメントの処理には計算量が多くなります。それぞれ10コアの100台のマシンを備えたHadoopクラスターがある場合、次のいずれかを実行できます。
A)各マシンに1000のドキュメントを送信し、Hadoopに10個のコア(または利用可能な数)のそれぞれでマップを開始させます
また
B)各マシンに1000個のドキュメントを送信し(引き続きHadoopを使用)、Scalaの並列コレクションを使用して複数のコアを最大限に活用します。(すべてのドキュメントを並列コレクションに入れてから、コレクションを呼び出しますmap)。つまり、クラスターレベルでの配布にはHadoopを使用し、並列コレクションを使用して各マシン内のコアへの配布を管理します。