- Kmeans の各反復の後、Hadoop は一連のクラスターである出力を HDFS に保存し、次の反復でそれらをメモリにフェッチしますか?
- マッパーは観測を特定のクラスターに入れています。つまり、すべてのノードがすべてのデータを認識している必要があり、すべてのノードが特定のノードの観測セットを提供するように、Hadoop はデータではなくコンピューティングのみを分散します。
ありがとうございました
Hadoop/MR などの反復処理では、クラスタ ポイントが収束するまで同じジョブを何度も実行するため、オーバーヘッドが発生します。以下で説明するように、Hadoop は他のフレームワークと比較して 10 倍遅くなります。
K-Means のような反復処理は、 BSPを使用して効率的かつ簡単に実行できます。Apache HamaとApache Giraphはどちらも BSP を実装しています。Apache Hama は BSP プリミティブを公開しますが、Apache Giraph は内部で BSP を使用し、主にグラフ処理に使用されますが、BSP プリミティブは公開しません。
Google は、大規模な反復処理のためのPregelに関する論文を発表し、基礎となるモデルとして BSP を使用しています。
Hadoop と MR は、実行可能ではありますが、KMeans などの反復アルゴリズムにはあまり適していません。Hadoop にマルコフ決定プロセスを実装する機会がありましたが、これは、入力と出力の両方で、各反復処理にディスク IO が含まれていたため、非常に苦労しました。それに加えて、イテレーション (MR ジョブ) の起動には、Hadoop クラスターで数十秒かかります。
その後、Hadoop で完全に動作する MR のようなフレームワークである Spark を試しました。クラスター内のすべてのコモディティ コンピューターのメモリを使用して、反復不変条件をディスクに繰り返し読み書きする代わりにキャッシュします。あなたはそれをチェックアウトしたいかもしれません:-)