問題
集群的回報取消了在Python筆記本上。所有其他語言的筆記本都能在同一集群上成功執行。
導致
當您安裝庫的衝突版本時,例如ipython,ipywidgets,numpy,scipy,或熊貓到PYTHONPATH環境,那麼Python REPL就會中斷,導致所有命令返回取消了後30秒。這也會破壞%sh,這個筆記本宏允許您在Python筆記本單元格中輸入shell腳本。
解決方案
要解決這個問題,可以采取以下措施:
- 確定衝突的庫並卸載它。
- 在筆記本中或使用集群作用域的init腳本安裝正確版本的庫。
識別衝突的庫
- 每次卸載一個庫,並檢查Python REPL是否仍然會崩潰。
- 如果REPL仍然中斷,請重新安裝已刪除的庫並刪除下一個庫。
- 當您找到導致REPL中斷的庫時,使用以下兩種方法之一安裝該庫的正確版本。
您也可以查看驅動程序日誌(std.err)用於群集(在群集配置頁麵上),以獲取堆棧跟蹤和錯誤消息,這可以幫助識別庫衝突。
安裝正確的庫
做以下任何一種。
選項1:使用pip3安裝在筆記本電腦中
%sh sudo apt-get -y install python3-pip pip3 install. zip
選項2:使用集群範圍的初始化腳本進行安裝
按照以下步驟創建集群作用域的初始化腳本(AWS|Azure|GCP)安裝正確版本的庫。取代<庫名稱>在帶有要安裝的庫文件名的示例中。
- 如果初始化腳本不存在,創建一個基本目錄來存儲它:
% sh dbutils.fs.mkdirs(“dbfs: /磚/ <目錄> /”)
- 創建以下腳本:
% sh dbutils.fs.put(" /磚/ init /集群名稱/ <庫名稱> . sh ", " " " # !/bin/bash sudo apt-get -y install python3-pip sudo pip3 install
""", True) - 確認腳本是否存在:
% sh顯示器(dbutils.fs.ls(“dbfs: /磚/ <目錄> / <庫名稱> . sh "))
- 進入集群配置頁麵(AWS|Azure|GCP),然後按高級選項切換。
- 在該頁的底部,單擊Init腳本標簽:
- 在目的地下拉,選擇DBFS,提供腳本的文件路徑,單擊添加.
- 重新啟動集群。