私は、hadoopとそのアプリケーションについてもう少し詳しく学んでいます。大量のデータセットや大きなファイルに対応していることが分かります。たとえば、hadoop/hdfsのようなものではない、比較的少数のファイル(100k)を処理していたアプリケーションがあるとしましょう。しかし、1台のマシンで実行するには大量の時間がかかりますので、そのプロセスを配布したいと思います。小規模のJava分散プログラミング
この問題はマップの縮小スタイルの問題(たとえば、各ファイルを個別に処理してから結果を集計できるなど)に分類できます。私はAmazon EC2のようなインフラストラクチャを使用していますが、実際にプロセスの結果を集約するためにどの技術を探求するかについてはあまりよく分かりません。 hadoopのように見えるかもしれませんが、ここで少し過剰です。
誰でもこのタイプの問題についてのガイダンスを提供できますか?
私は理解できません。 Hadoopのreduceフェーズは、計算結果を正確に集計することを意味します。 – Tudor
右ですが、hdfsを使用していません。小さなファイルがたくさんある場合、ファイルサイズは少し大きすぎるはずです(私はこれらのファイルを集約するテクニックがあると知っています。私の場合はファイルが異なります画像などのファイル)。私はhdfsが適切でない場合、私はいつもs3のようなものを使うことができると思いますか? –
あなたはそうです、HDFSは大量の小さなファイルのためのものではなく、パフォーマンスは非常に悪いです、私は大学の "クラスタ"を使って私自身の実験からこれを伝えることができます。幸いにも私のファイルはテキストファイルなので、それらを1つの大きなファイルにマージすることができ、パフォーマンスは60倍向上しました。:) – Tudor