3

500 個のディレクトリと、各ディレクトリに 1000 個のファイル (それぞれ約 3 ~ 4k 行) があります。これらの各ファイルで同じclojure プログラム (作成済み)を実行したいと考えています。4 つのオクタコア サーバーがあります。これらのコア間でプロセスを分散する良い方法は何ですか? カスカログ (hadoop + clojure)?

基本的に、プログラムはファイルを読み取りサードパーティの Java jar を使用して計算を行い、結果を DB に挿入します。

次の点に注意してください: 1. サードパーティのライブラリ/jar を使用できることが必須です 2. いかなる種類のクエリもありません

4

2 に答える 2

1

私が理解しているように、プロセス全体に「削減」段階がないため、各サーバーに 125 個のディレクトリを配置し、残りの時間をこのプログラムがより速く処理できるようにすることに費やすのは理にかなっています。もちろん、DBを飽和させるまで。

利用可能な「ビッグデータ」ツール (Hadoop、Storm) のほとんどは、非常に強力な map 操作と reduce 操作の両方を必要とするプロセスに焦点を当てており、おそらくそれぞれに複数の段階があります。あなたが本当に必要としているのは、どのジョブが成功し、どのジョブが成功しなかったかを追跡する適切な方法です。私は開発時間を予測するのが誰よりも下手です (そして多くの人よりも下手です)。失敗したジョブを後で (できれば自動的に) 再実行できるように、どのジョブが終了し、どのジョブが失敗したかを追跡するための監視プロセス。

于 2015-01-02T21:23:34.980 に答える