簡體   English   中英

在數據塊上更新 jar 作業

[英]Updating jar job on databricks

我有一個共享集群,它被數據塊上的多個作業使用。 當我啟動作業執行時,未使用與作業對應的 jar 的更新,在集群上,我看到它使用舊版本的 jar。

澄清一下,我在數據塊中發布了 jar 到 API 2.0。

我的問題是為什么當我開始執行我的作業時,集群上的執行總是使用舊版本。 謝謝你的幫助

舊的 jar 只有在終止時才會從集群中刪除。 如果您有一個永不終止的共享集群,那么它就不會發生。 這不是 Databricks 的限制,而是 Java 不能卸載已經在使用的類(或者很難可靠地實現)。

對於大多數情況,確實不建議使用共享集群,原因如下:

  • 它的成本要高得多(~4x)
  • 從性能的角度來看,任務是相互影響的
  • 很可能存在依賴沖突+無法在不影響其他任務的情況下更新庫
  • 在驅動程序節點上收集了一種“垃圾”
  • ...

如果您使用共享集群來獲得更快的執行速度,我建議查看 實例池,尤其是結合將 Databricks Runtime 預加載到實例池中的節點上。

很奇怪,我認為如果沒有辦法在集群內有多個並發 jars,那么加載一個 jar 是強制性的,這樣使用起來很方便,不幸的是沒有辦法克服這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM