安裝時錯誤pyodbc在集群上

問題

當您使用時發生以下錯誤之一pip安裝pyodbc圖書館。

java.lang.runtimeException:安裝失敗,消息:收集pyodbc
“由於缺少依賴關係,庫安裝失敗了。SASL和THRIFT_SASL是SASL或Kerberos支持的可選依賴項”

原因

雖然saslthrift_sasl是SASL或Kerberos支持的可選依賴性,需要出席pyodbc安裝成功。

解決方案

在單個筆記本中設置解決方案

  1. 在筆記本中,檢查版本節約並升級到最新版本。

    %SH PIP列表|EGREP'節儉 -  sasl | sasl'PIP安裝 - 升級救濟
  2. 確保安裝因軟件包。

    %SH DPKG -L|EGREP'thrift_sasl | libsasl2-dev | gcc | python-dev'
  3. 安裝nnixodbc安裝之前pyodbc

    %sh sudo apt-get -y安裝unixodbc-dev libsasl2-dev gcc python-dev

將解決方案設置為群集宣傳的初始腳本

您可以將這些命令放入一個初始腳本中,並將其連接到群集。這確保了依賴的庫pyodbc在群集開始之前安裝。

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

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

    dbutils.fs.put((“ dbfs:/databricks//tornado.sh”,,,,”“”#!/bin/bashPIP列表|EGREP'Thrift-Sasl | Sasl'PIP安裝 - 升級救濟DPKG -L |egrep'thrift_sasl | libsasl2-dev | gcc | python-dev'sudo apt-get -y安裝unixodbc-dev libsasl2-dev gcc python-dev”“”,真的
  3. 檢查腳本是否存在。

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

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

    無文本
  6. 在裏麵目的地下拉下,選擇DBF,提供腳本的文件路徑,然後單擊添加

  7. 重新啟動集群

有關群集啟動腳本的更多詳細信息,請參閱群集宣傳的初始腳本