安裝時錯誤CATTOPY在集群上

問題

您正在嚐試安裝CATTOPY在集群上,您會收到一個托管LibraryInstallfailed錯誤信息。

Java.lang.runtimeException:ManagedLibraryInstallFailed:org.apache.spark.sparkexception:Process List(/databricks/databricks/python/bin/pip,install,install,cantopy = = 0.17.0, - 可見的pip-version-check)1.錯誤:命令與退出狀態1:命令:/databricks/python3/bin/python3.7/databricks/python3/lib/python3.7/site-packages/pip/pip/pip/_vendor/_vendor/_in_in_in_in_process.py get_requires_requirequir_for_bor_for_bor_for_bor_for_build_wheel/tmp/tmpjoli tmpjoliwakycwd:/tmp/pip-install-t324easa/Cartopy完整輸出(3行):setup.py:171:用戶保存:無法確定GEOS版本。確保您安裝了3.3.3或更高版本,否則安裝可能會失敗。'。'。join(for geos_min_version中的V for V for V for V for v for geos_min_version),)))))必須安裝proj 4.9.0。-----------------------------------------------------------ERROR: Command errored out with exit status 1: /databricks/python3/bin/python3.7 /databricks/python3/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpjoliwaky Check完整命令輸出的日誌。對於庫:pythonpypipkgid(Cartopy,一些(0.17.0),無,列表()),issharedLibrary = false

原因

CATTOPY有依賴性libgeos3.3.3及以上以及libproj4.9.0。如果libgeoslibproj未安裝,CATTOPY無法安裝。

解決方案

配置a群集宣傳的初始腳本自動安裝CATTOPY以及所需的依賴項。

  1. 如果不存在基本目錄,則創建基本目錄以存儲Init腳本。在這裏,使用dbfs:/databricks/舉個例子。

    dbutils.fs.mkdirs((“ dbfs:/databricks//”
  2. 創建腳本並將其保存到文件中。

    dbutils.fs.put((“ dbfs:/databricks//cartopy.sh”,,,,”“”#!/bin/bashsudo apt-get安裝libgeos ++ -ev -ysudo apt-get安裝libproj-dev -y/databricks/python/bin/pip instalpopy”“”,真的
  3. 檢查腳本是否存在。

    展示((dbutilsFSLS((“ dbfs:/databricks//cartopy.sh”))
  4. 在集群配置頁麵上,單擊高級選項切換。

  5. 在頁麵的底部,單擊初始腳本標簽。

    DBFS INIT腳本設置UI的圖像
  6. 在裏麵目的地下拉下,選擇DBF,提供腳本的文件路徑,然後單擊添加

  7. 重新啟動集群。