0

約200万の大きなファイルサイズでHadoopを使用することについて明確にしています。200万行からなるファイルデータがあり、各行を1つのファイルに分割し、Hadoopファイルシステムにコピーして、Mahoutを使用して期間頻度の計算を実行します。Mahoutは、分散方式でmap-reduce計算を使用します。しかし、このために、たとえば、200万行で構成されるファイルがある場合、各行を用語頻度の計算用のドキュメントとして使用します。最終的に1つのディレクトリが作成され、200万のドキュメントが作成されます。各ドキュメントは1行で構成されます。これにより、nファイルのnマップが作成されます。ここでは、プロセス用に200万のマップが作成されます。これは計算に多くの時間がかかります。計算を高速化するためにドキュメントを表現する別の方法はありますか?

4

2 に答える 2

1

200 万のファイルは、hadoop にとっては大量です。それ以上 - 200 万のタスクを実行すると、約 200 万秒のオーバーヘッドが発生します。これは、数日間の小規模なクラスター作業を意味します。問題はアルゴリズムの性質にあると思います-計算をマップにマップする方法は、適度な数のマッパーを持つ方法でパラダイムを減らします。必要なタスクについて数行ドロップしてください。アルゴリズムを提案するかもしれません。

于 2012-04-25T12:05:52.997 に答える