これは私の問題です。長期的なPySparkフレームワークを持っているとしましょう。すべてのタスクを並行して実行できる何千ものタスクがあります。私は多くの異なるホストで最初に1,000コアを割り当てられます。各タスクには1つのコアが必要です。次に、それらが終了すると、ホストは1つのコアを保持し、アクティブなタスクはありません。多数のホストが存在するため、アクティブなタスクを持たないエグゼキュータに、より多くの割合のコアが割り当てられます。だから私は1000のコアが割り当てられることができますが、わずか100アクティブなタスク。他の900個のコアは、アクティブなタスクを持たないエグゼキュータに割り当てられます。これをどのように改善できますか?実行していないエグゼキュータをシャットダウンする方法はありますか?私は現在PySpark 1.2を使用していますので、そのバージョンの機能は素晴らしいですが、新しいバージョンでは解決策(またはより良い解決策)について聞いてうれしいです。ありがとう!一見、非アクティブなエグゼキュータを長時間実行しているPySparkフレームワークから解放するには?
0
A
答えて
0
Sparkが使用すべきエグゼキュータの数を指定しない場合、Sparkは少なくとも1つのタスクがそのキューに保留中である限りエグゼキュータを割り当てます。 Sparkが動的に割り当てることができるエグゼキュータの数に上限を設定するには、spark.dynamicAllocation.maxExecutors
を使用します。他の言葉で
、スパーク、使用進水: pyspark --master yarn-client --conf spark.dynamicAllocation.maxExecutors=1000
代わりpyspark --master yarn-client --num-executors=1000
のデフォルトでは、スパークは、非活動の60s
後に執行を解放します。
ご使用のSpark.DataFrameが.persist()
の場合は、.unpersist()
にしてください。さもなければ、Sparkはエグゼキュータを解放しません。
+0
QAはYARNを使用していることを指定していません。 – timchap
関連する問題
- 1. 長時間実行されるタスクを実行するフレームワーク
- 2. 実行に非常に長い時間がかかるクエリ
- 3. 長時間実行する操作を実行するには?
- 4. これは、長時間実行される非同期タスクを実行する正しいアプローチですか?
- 5. Hibernate Sessionは、長時間使用されていない場合にdb接続を解放しますか?
- 6. Xamarin:長時間実行しているネイティブプロセスからUIを更新します。
- 7. 長時間実行しているPythonスレッドを終了する
- 8. 長時間実行しているPSコマンドレットを停止する
- 9. 長い実行時間
- 10. System.DirectoryServices.Protocolsで長時間実行される検索を放棄する方法
- 11. 長時間実行しているGoプログラムを実行するにはどうすればよいですか?
- 12. アクティブ時にUISearchControllerがメモリから解放されません
- 13. iPhoneで一般的な長時間実行されているバックグラウンドタスク
- 14. 実行時間が非常に長い(1分以上)
- 15. AzureのSQL実行時間が非常に長い
- 16. Elixirで長時間実行されているタスクを非同期に実行する
- 17. リモートマシンから長時間実行されるハイブクエリを実行する
- 18. メイン実行を一時停止している間にxmlファイルを解析する方法UIではなく
- 19. RServeCLI2は長時間実行されるタスクをサポートしていますか?
- 20. PySparkと放送は一例
- 21. WCFで長時間実行される非同期スレッド
- 22. 長時間実行される非同期APIメソッド
- 23. 非アクティブ時間jqueryを計算する
- 24. 長時間実行しているRuby Net :: SSHコマンドを取り消すには
- 25. バックグラウンドで長時間実行するタスク
- 26. シートと長時間実行するタスク
- 27. SOAP UIテストはジェンキンから長い時間実行されています
- 28. Delphi:実行時に動的コントロールを解放する
- 29. 実行時間が非常に長く、それを減らす方法
- 30. MVCで非同期/待機 - 重要な長時間実行中にスレッドを解放することが重要です
リソースマネージャを使用していますか?またはスパークスタンドアロン? – timchap