2017-03-27 5 views
0

私はSparkを使って自分のデータに対していくつかの操作を行っています。 データ操作に役立つ補助辞書を使用する必要があります。Sparkのバッチ処理ごとに静的ファイルがロードされ、アンロードされていますか?

streamData = sc.textFile("path/to/stream") 
dict = sc.textFile("path/to/static/file") 
//some logic like: 
//if(streamData["field"] exists in dict) 
// do something 

私の質問です:dictのは、すべての時間がメモリ内にあるか、それがロードされ、スパークがバッチに取り組んでいるたびにアンロードしておく必要があるのでしょうか?それは、実行時にメモリを必要とする他のオブジェクト(複数可)のために追い出される必要がある場合を除き

おかげ

答えて

-1

dictのはメモリ内に保持されたままになります。後で再利用する必要がある場合は、初期化後にdict.cache()を実行する必要があります。 .persist(DISK_ONLY)が非常に大きく、メモリにキャッシュできない場合は、RDDをディスクに永続化することもできます。 This postにはRDDの仕組みに関する有用な要約があります。

関連する問題