Spark計算を実行するデモアプリケーションがあります。そのために、オブジェクトファイルに格納されているRDDをロードしてから、ユーザーの入力に依存するいくつかのタスクを実行します。SparkのファイルからRDDへの強制ロード
sparkContext.objectFile()
を使用してRDDをロードするのは時間がかかる操作です。時間が問題なので、デモが始まる前にロードして、プレゼンテーション中に入力に依存する計算を実行するだけです。ただし、Sparkの遅延ポリシーは、計算全体がトリガーされた後にのみファイルを読み込むようにします。
RDD.cache()
は、自分自身のトリックを行いません。キャッシングも怠惰な操作です。
ファイルからRDDを強制的にロードする方法はありますか?
もしそうでない場合は、RDDの読み込み速度を上げたり、今後のSparkジョブのためにメモリに保存したりする方法はありますか?
スパークバージョンは1.5で、シングルノードスタンドアロンモードで動作します。ファイルはローカルファイルシステムから読み込まれます。私はSparkの設定や必要に応じてこれらの設定を微調整できます。
アドバタイズされていないようです。 RDDパーティションがメモリから削除されるか、完全にロードされない可能性はありますか? –
あなたは十分なメモリがない場合のみ..あなたは? Spark UI(https://:4040/storage /)でこれを確認し、RDDを探して "Fraction Cached"を確認してください –
Sparkのメモリ管理パラメータに非常に敏感ですが –