我有一個工作流運行在集群和包含一個工作任務,需要從PyPI先知庫:
{“task_key”:“my_task”、“depends_on”: [{“task_key”:“<…> "}),”notebook_task”: {“notebook_path”:“<…>”、“源”:“工作區”},“job_cluster_key”:“job_cluster”、“庫”:[{“pypi”:{“包”:“先知”= = 1.1.2}}],“timeout_seconds email_notifications“: 0: {}},
有時候工作很好但有時我得到了下麵的錯誤:
運行結果不可用:工作失敗與錯誤消息庫安裝失敗庫由於用戶錯誤pypi{包:“先知= = 1.1.2”}。錯誤消息:圖書館的司機節點集群上安裝嚐試<…>,但都以失敗告終。請參考以下錯誤消息來解決圖書館或接觸磚的支持。錯誤代碼:DRIVER_LIBRARY_INSTALLATION_FAILURE。錯誤信息:org.apache.spark。SparkException:進程列表(/磚/ python / bin /皮普,安裝、先知= = 1.1.2,——disable-pip-version-check)退出代碼1。錯誤:無法安裝包由於OSError: [Errno 2]沒有這樣的文件或目錄:/磚/ python3 / bin / f2py”
我看到建議提前這個庫安裝在一個集群中。但我開始我的工作流程的工作集群(不是一個萬能的集群)所以沒有預先安裝的能力。奇怪的是,有時很好,有時不是。
如果有一種方法來安裝圖書館100%保證集群在一個共享的工作就好了!
@Eugene Bikkinin:你可以試試下麵的選項。
解決這個問題,你可以通過檢查集群的工作日誌來查看是否存在任何錯誤消息或異常相關庫安裝。你也可以嚐試手動安裝圖書館工作的集群是否安裝成功。此外,您可以檢查網絡連接,依賴、權限、資源、兼容性,包質量,以確保他們不造成問題。
一些最常見的原因是:
@Eugene Bikkinin:
一個集群上安裝庫工作的方法是使用init腳本。Init腳本腳本運行在集群啟動時,和可以用來安裝庫或執行其他初始化任務。使用一個init腳本安裝一個庫,您可以創建一個腳本,該腳本安裝庫使用脈衝或其他包管理器,然後將這個腳本附加到您的集群作為一個init腳本。下麵的例子是
# !/bin/bash /磚/ python / bin / pip安裝熊貓
您可以將這個腳本附加到您的集群通過“高級選項”選項卡在創建你的工作,然後將腳本添加到“Init腳本”字段。