RIBをsaveAsObjectFileで保存して、ドライバとエグゼキュータに一時ファイルを配布します。プログラムの最後にこれらのファイルをすべて削除したいと思います。それらを削除するには?スパーク・ドライバとエグゼキュータのテンポラリ・ファイルを削除
答えて
Spark経由でデータを削除するための組み込みサポートはありません。ただし、元のRDDでforeachPartition
を使用すると、各パーティションで任意のコードを実行できます。つまり、実際にデータを保存した各エグゼキュータで少なくとも1回は実行されます。
保存したフォルダを削除するコードを実行すると(1つのエグゼキュータで複数のパーティションを保持できるため、同じエグゼキュータで複数回実行すると失敗しないことが保証されます)あなたが必要なもの。これはビットハックであり、100%の防弾ではないかもしれないことに注意:
// save
rdd.saveAsObjectFile("/my/path")
// use data...
// before shutting down - iterate over saved RDD's partitions and delete folder:
import org.apache.commons.io.FileUtils
rdd.foreachPartition(i =>
// deleteDirectory doesn't fail if directory does not exist
FileUtils.deleteDirectory(new File("/my/path"))
)
EDIT:Apacheのコモンズを使用して、例えば
、例えば、場合のアプリケーションの実行1時エグゼキュータがクラッシュした場合、そのパーティションは他のエグゼキュータで再計算され、そのエグゼキュータのデータは削除されません。
ありがとう、私はこのrddを再分割し、私のスパークエグゼキュータの番号に等しいパーティション番号を設定する必要がありますか?それ以外の場合は、スパークシステムの並列性に大きな数値を設定した場合、エグゼキュータで削除するには時間がかかります。 – user1803467
実際にパーティションの数が非常に多い場合は、再パーティションが役立つかもしれませんが、これは素早い操作です(ほとんどのパーティションでファイルが存在するかどうかを確認するだけです)。 –
ありがとう、私はあなたの提案をお試しになります。 – user1803467
- 1. スパーク:エグゼキュータの一意のID
- 2. Apacheのスパーク:ERRORエグゼキュータ - >イテレータ
- 3. スタンドアロンモードでのドライバ/エグゼキュータのコードフロー
- 4. ジョブが使用するエグゼキュータのスパーク数
- 5. スパーク行を削除する
- 6. ドライバ削除後のBSoD
- 7. スパーク・ドライバ・ヒープ・メモリーの問題
- 8. 「テンポラリの使用」と「ファイルの使用」を削除するためにこのクエリを改善する方法
- 9. GmailはインラインCSS(メールのテンポラリ)として「位置:相対」を削除します
- 10. s3aを使用してドライバとエグゼキュータでスパークジャックを取得する
- 11. Sparkでエグゼキュータとドライバにカスタムlog4jプロパティを使用する方法
- 12. スパークSQLのcassandraレコードの削除
- 13. ファイルの削除と親ディレクトリの削除
- 14. 複数のエグゼキュータを持つスタンドアロン構成のスパーク
- 15. 糸のエグゼキュータがスパークのバージョンを間違って起動する
- 16. EMR-5.4.0(スパークのエグゼキュータのメモリ割り当ての問題)
- 17. スパーク・スタンドアロン・クラスタ、1つのエグゼキュータ上で実行中のジョブ
- 18. グローバル・テンポラリ・テーブルのテーブルを変更する(削除しないで保存する)
- 19. Mongo C#ドライバが削除されない
- 20. svnファイルとディレクトリの削除
- 21. ファイルのロックと削除
- 22. ファイルのアップロードと削除
- 23. ファイルとMediaStore-Entryの削除
- 24. Javaファイルの削除とSystem.gc()
- 25. ドライバで使用されるスパーク数
- 26. スパークSQLのデータフレームでスワップ2つの列を、重複を削除
- 27. Apache POIとファイル削除クラス
- 28. スパークApacheが "NULL"の値を削除していない
- 29. Nuxeoからのメインファイルと添付ファイルの削除/削除
- 30. PHPのフォルダとファイルを削除する
可能な複製http://stackoverflow.com/questions/30093676/apache-spark-does-not-delete-temporary-directories?rq=1 – Rumoku
ありがとうございました。しかし、この記事では主にスパークシステムによって作成された一時ファイルについて説明します。私のファイルは私のアプリケーションプログラムによって作成されます。 – user1803467