庫不可用導致工作失敗

學習如何解決磚工作失敗造成的不可用的庫。

寫的亞當Pavlacka

去年發表在:2022年5月11日

問題

您正在啟動工作導入外部庫,導入錯誤。

工作原因節點重新啟動時,工作失敗,並顯示以下錯誤消息:

ImportError:沒有模塊名為XXX

導致

集群管理器是磚的一部分服務管理客戶Apache火花集群。它發送命令來安裝Python和R庫時每個節點重啟。有時,圖書館安裝或從網上下載的工件可以比預期更多的時間。這發生由於網絡延遲,或者發生如果被連接到集群的圖書館有許多依賴庫。

圖書館安裝機製保證筆記本連接到一個集群時,它可以導入安裝庫。當庫安裝在PyPI花過多的時間,圖書館前的筆記本連接到集群安裝完成。在這種情況下,筆記本無法導入庫。

解決方案

方法1

在筆記本上使用notebook-scoped庫安裝命令。您可以輸入以下命令在一個細胞,它確保所有安裝指定的庫。

% sh dbutils.library.installPyPI (mlflow) dbutils.library.restartPython ()

方法2

AWS

為了避免延遲從網上下載的庫存儲庫,您可以緩存庫DBFS和S3。

例如,您可以下載Python庫的車輪或蛋文件DBFS或S3的位置。您可以使用REST API或集群級init腳本安裝庫DBFS或S3。

首先,從互聯網下載車輪或蛋文件DBFS和S3的位置。這可以在一個筆記本如下:

刪除

Azure

為了避免延遲從網上下載的庫存儲庫,您可以緩存DBFS或Azure Blob存儲庫。

例如,您可以下載Python庫的車輪或蛋文件DBFS或Azure Blob存儲位置。您可以使用REST API或集群級init腳本安裝從DBFS或Azure Blob存儲庫。

首先,從互聯網下載車輪或蛋文件DBFS和Azure Blob存儲位置。這可以在一個筆記本如下:

刪除
% sh cd / dbfs / mnt /圖書館wget < whl / egg-file-location-from-pypi-repository >

輪或蛋文件下載完成後,您可以安裝圖書館集群使用REST API, UI,或init腳本命令。

這篇文章有用嗎?