3

私が読んだ小さなことから、Hadoopは次のクラスの問題に最適であることがわかりました。潜在的に多くのノード間で計算を分散することによって1つの大きな質問に答えることができます。

Hadoopは、同じデータセットで、それぞれが異なるパラメーターを持つ複数の計算を伴う問題を解決するように設計されましたか?たとえば、同じマスターデータセットに基づいて、パラメーターが異なるさまざまなシナリオをシミュレートします(たとえば、同じデータセットでデータマイニングモデルをテストしますが、それぞれが異なるパラメーターセットを使用してシミュレーションを複数回繰り返し、最適なモデルを見つけます)。 )。

たとえば、天気を予測するモデルで、重みが異なる一連のルールがある場合、Hadoopは同じモデルの実行をサポートしますが、各「ノード」は学習セットで異なる重み値で実行され、予測結果を比較して最適なモデルを見つけますか?

それとも、これはHadoopが単に実行するように設計されていないことですか?

4

1 に答える 1

3

それは実際にはそれが行うように設計されたものではありません。通常、データセットのさまざまな部分をさまざまなノードに分散できるようにする必要があります。これは、Hadoopの背後にある主要なアイデアの1つです。巨大なデータセットを複数のノードに分割し、データに計算をもたらします。しかし、それでも、あまりにも多くのフープを飛び越えることなく、確実に達成することができます。

MapReduceパラダイムにどれだけ慣れているかはわかりませんが、モデルのパラメーターをマップタスクへの「入力」と考えることができます。データセットをHDFSの特定の場所に配置し、マップタスクがHDFSからデータセットを読み取るようにMapReduceジョブを記述し、指定されたパラメーターを使用してモデルを評価します。すべてのマップ出力は1つのレデューサーに送信され、レデューサーは最高のスコアを与えたパラメーターを出力するだけです。入力ファイル(モデルパラメーター)の数をノードの数と等しくすると、ノードごとに1つのマップタスクを取得する必要があります。これは、必要なものです。

于 2012-09-19T22:46:48.663 に答える