4

MLlib の Naive Baye の分類実装を使用してドキュメント分類に使用する TFIDF ベクトルを作成しているときに、メモリ オーバーフローの問題が発生しました。

http://chimpler.wordpress.com/2014/06/11/classifiying-documents-using-naive-bayes-on-apache-spark-mllib/

すべての用語の idfs を収集しているときに、メモリ オーバーフローと GC の問題が発生します。規模を把握するために、HBase から約 615,000 (約 4 GB のテキスト データ) の小さなサイズのドキュメントを読み取り、8 コアと 6 GB のエグゼキューター メモリで spark プログラムを実行しています。並列処理レベルとシャッフル メモリ部分を増やしてみましたが、役に立ちませんでした。

この OOM の問題を解決するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

Spark RDD を HBase にどのように接続していますか? HBase リージョンの大きさは? 複数の HBase リージョンを同時にロードしていて、それらのサイズの合計が使用可能な RAM よりも大きい場合、ロード フェーズ中にメモリが不足する可能性があります。

これを回避する 1 つの方法は、領域ファイル全体ではなく、読み込みに関心のある列のみを具体的にスキャンする独自の HBase ローダーを作成することです。これにより、メモリ消費が大幅に削減される可能性があります。また、HBase キースペースのセマンティックの理解に基づいて、ロードするパーティションの数を調整し、ロード中のメモリ消費をさらに調整することもできます。

于 2014-09-18T20:16:05.767 に答える