在一個集群上安裝pyodbc時錯誤

學習如何解決一個錯誤當在磚上安裝pyodbc集群。

寫的亞當Pavlacka

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

問題

使用時發生下列錯誤之一皮普安裝pyodbc圖書館。

. lang。RuntimeException:安裝失敗,信息:收集pyodbc
“圖書館安裝失敗是由於缺失的依賴關係。sasl和thrift_sasl是可選依賴sasl或Kerberos支持”

導致

雖然saslthrift_sasl是可選依賴SASL或Kerberos支持,他們需要禮物嗎pyodbc安裝成功。

解決方案

集群級init腳本方法

你可以把這些命令為一個init腳本,並將其附加到集群。這將確保pyodbc的依賴庫安裝在集群開始之前。

  1. 創建基礎目錄存儲中的init腳本,如果基礎目錄不存在。在這裏,使用dbfs: /磚/ <目錄>作為一個例子。
    % sh dbutils.fs.mkdirs (“dbfs: /磚/ <目錄> /”)
  2. 創建腳本並將其保存到一個文件。
    % sh dbutils.fs.put (“dbfs: /磚/ <目錄> /龍卷風。sh”、“”“# !/bin/bash pip列表| 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. 檢查腳本的存在。
    % python顯示器(dbutils.fs.ls (“dbfs: /磚/ <目錄> / tornado.sh”))
  4. 在集群配置頁麵,單擊高級選項切換。
  5. 在頁麵的底部,單擊Init腳本選項卡。
    Init腳本界麵形象。
  6. 目的地下拉,選擇DBFS,提供這個腳本文件路徑,然後單擊添加
  7. 重新啟動集群。

關於集群級init腳本的更多細節,請參閱集群級init腳本(AWS|Azure|GCP)。

筆記本的方法

  1. 在一個筆記本,檢查的版本節儉升級到最新版本。
    % sh pip列表| egrep”thrift-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