2017-07-11 4 views
1

私は約35 GBのzipファイルを持っています。それぞれに15個のcsvファイルが含まれています。zipファイルとcsvファイルのそれぞれを処理するscalaスクリプトを作成しました各zipファイルごとにSnappyData Spark Scall java.sql.BatchUpdateException

問題は、いくつかのファイルの量スクリプトランチこのエラー


ERROR Executorの後:java.sqlで:段階114.0(TID 3145) にjava.io.IOExceptionでタスク0.0での例外。たBatchUpdateException:(SERVER =ローカルホスト/ 127.0.0.1 [1528]スレッド=プール-3-スレッド63)XCL54.T:キーの[0]インサート[7243901、7243902、


文字列を用いて継続します挿入されていないすべてのキー(レコード)。

私が見つけたのは、明らかに、(私は明らかにスカラーとスナッパーとスパークに関する知識がないために言った)使用されているメモリがいっぱいです...私の質問...使用されるメモリのサイズ?またはメモリ内のデータを空にしてディスクに保存するにはどうすればよいですか?

セッションを終了してメモリを解放することはできますか? サーバを再起動して処理されたファイルを削除してから、インポートを続行できますが、他のファイルの後に...同じ例外...

私のcsvファイルは大きいです...最大のもの1GB程度ですが、この例外は大きなファイルだけでなく、複数のファイルを蓄積しているときに...いくつかのサイズに達するまで発生します...そのメモリ使用量をどこで変更しますか?

私は12ギガバイトのRAMを持っている...

答えて

1

私はあなたが利用可能なメモリを使い果たしていると思います。例外メッセージは誤解を招きます。あなたのマシンに12GBのメモリしかない場合は、あなたのデータが収まるかどうか疑問です。 私がやることは、まずどのように記憶が必要かを理解することです。

1. Copy conf/servers.template to conf/servers file 
2) Change this file with something like this: localhost -heap-size=3g 
    -memory-size=6g //this essentially allocates 3g in your server for computations (spark, etc) and allocates 6g of off-heap memory for your data (column tables only). 
3) start your cluster using snappy-start-all.sh 
4) Load some subset of your data (I doubt you have enough memory) 
5) Check the memory used in the SnappyData Pulse UI (localhost:5050) 

十分なメモリがあると思われる場合は、完全なデータを読み込みます。

うまくいけばうまくいきます。

+0

こんにちは、ありがとう、私は私のデータがメモリに収まらないことを知っています、合計金額は約300 + GB ...ですのでここで問題はどのように各csvを処理するためにメモリをインクリメントする方法です)、ディスクにデータを格納したり、メモリと結合したりすることができます。私はRDDパーシスタンスに関する情報を見つけました。私はそれが私のソリューションの一部だと思いますが、どのように/それを設定するのですか?そして、私はすでにそれらを構成しているヒントのおかげで...そして...テスト... –

1

BatchUpdateExceptionは、スナッピーテーブルを作成してデータを挿入していることを示しています。また、ほとんどの場合、BatchUpdateExceptionはメモリ不足(例外メッセージを改善する必要がある)を意味します。だから、私はあなたが記憶について正しいかもしれないと信じています。メモリを解放するには、作成したテーブルを削除する必要があります。メモリサイズとテーブルのサイズ設定の詳細については、あなたがこれらのドキュメントを読むことをお勧めします:

http://snappydatainc.github.io/snappydata/best_practices/capacity_planning/#memory-management-heap-and-off-heap

http://snappydatainc.github.io/snappydata/best_practices/capacity_planning/#table-memory-requirements

また、あなたがメモリに収まりきらない大量のデータを持っている場合、あなたはそれをオーバーフローすることができますディスクに保存します。オーバーフローの設定については、次のドキュメントを参照してください。

http://snappydatainc.github.io/snappydata/best_practices/design_schema/#overflow-configuration

はそれがお役に立てば幸いです。

関連する問題