我們使用一個私人PyPI回購(AWS CodeArtifact)發布自定義python庫。我們提供私人回購DBR 12.2集群使用一個初始化腳本這裏的規定在磚KB。當我們試圖升級到13.2這個停止工作。具體地說:
看的文檔集群庫指出以下限製:
磚上運行時13.1及以上,集群Python庫支持集群中使用共享訪問模式統一Catalog-enabled工作區,包括Python輪子作為工作區文件上傳。
我看著創建一個集群使用共享訪問,但根據創建一個集群文檔共享訪問模式有以下限製:不支持Init腳本。
以來似乎集群庫行不通DBR 13 +我看著工作空間的文檔庫。不幸的是,認證的唯一方法是存儲索引的憑證作為URL。這裏的問題是,CodeArtifact限製認證令牌到12小時,這是行不通的。
我看不出使用私人PyPI回購方式分發我們的圖書館——至少不使用AWS CodeArtifact。我遺漏了什麼東西?
這是上麵提到的錯誤:
未能連接庫python-pypi; s3_ingest;;發布;引發
org.apache.spark。SparkException:進程列表(/ bin /蘇、圖書館- c, bash / local_disk0 / .ephemeral_nfs / cluster_libraries / python / python_start_clusterwide。sh / local_disk0 /。ephemeral_nfs cluster_libraries / python / bin / pip安裝“s3_ingest = =發布”——disable-pip-version-check)退出代碼1。警告:該目錄/ home /圖書館/。緩存/ pip”或它的父目錄不是當前用戶擁有或沒有可寫的。緩存已被禁用。檢查該目錄的權限和所有者。如果執行sudo皮普,你應該使用sudo - h標誌。
錯誤:找不到滿足需求s3_ingest = =發布的版本(版本:無)
錯誤:沒有發現匹配分布s3_ingest = =發布
+ 1,同樣的問題在這裏,我使用AWS CodeArtifact私人PyPI和工作DBR 12。x和DBR 13.2不再工作。
我使用相同的模式@dvmentalmadessAWS CodeArtifact登錄,init腳本。
@dvmentalmadess我發現解決了這個問題,我使用這個init腳本創建的/home/libraries主文件夾和給權限庫用戶,然後利用sudo- u庫awscodeartifact登錄命令。
# !/bin/bash #安裝AWS CLI curl - o”awscliv2“https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip”。zip解壓awscliv2。郵政sudo。/ aws /安裝aws——版本回聲“aws CodeArtifact登錄(根)“aws CodeArtifact登錄——工具pip庫xxxxxx,域xxxxxx,域名所有者xxxxxx sudo mkdir /home/libraries sudo喬恩圖書館:圖書館/home/libraries sudo chmod 755 /home/libraries sudo - u庫aws CodeArtifact登錄——工具pip庫xxxxxx域xxxxxx,域名所有者xxxxxx
它為我工作。
@lucasvieira謝謝跟蹤修複!它解決了問題所以我標記你的職務描述解決方案。
以防它幫助別人,我原來的文章省略了從我們的設置細節為了使問題容易複製。我們的CodeArtifact不緩存依賴關係。相反,我們配置global.extra-index-url把公共depdendencies。這是我們的腳本是如何不同:
# !/bin/bash #安裝AWS CLI curl - o”awscliv2“https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip”。zip解壓awscliv2。郵政sudo。/ aws /安裝aws——版本回聲“aws CodeArtifact登錄(根)“aws CodeArtifact登錄——工具pip庫xxxxxx,域xxxxxx,域名所有者xxxxxx #這是額外的設置/磚/ python3 / bin / python - m pip全球配置集。extra-index-url https://pypi.org/simple
結果我看到錯誤告訴我無法找到的依賴性。要修複這些問題,我不得不設定全球。extra-index-url庫用戶。這是完整的腳本:
# !/bin/bash #安裝AWS CLI curl - o”awscliv2“https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip”。zip解壓awscliv2。郵政sudo。/ aws /安裝aws——版本回聲“aws CodeArtifact登錄(根)“aws CodeArtifact登錄——工具pip庫xxxxxx,域xxxxxx,域名所有者xxxxxx /磚/ python3 / bin / python - m pip全球配置集。extra-index-url https://pypi.org/simplesudomkdir /home/libraries sudo chown libraries:libraries /home/libraries sudo chmod 755 /home/libraries sudo -u libraries aws codeartifact login --tool pip --repository xxxxxx --domain xxxxxx --domain-owner xxxxxx sudo -u libraries /databricks/python3/bin/python -m pip config set global.extra-index-url https://pypi.org/simple
更新:還有,如果你運行這個作為全球init腳本和必須支持版本比12.2 LTS(例如,11.3 LTS),確保你用if塊中的代碼庫用戶檢查是否存在用戶庫。否則,該腳本將在11.3失敗。
如果id“庫”> / dev / null 2 > & 1;然後去這裏fi #命令