庫API 2.0
Libraries API允許您安裝和卸載庫,並獲得集群上庫的狀態。
重要的
要訪問Databricks REST api,必須進行身份驗證.
請注意
在Databricks Runtime 7.3 LTS上支持Maven庫(沒有其他7。X版本)和8.1及以上版本。
所有集群狀態
端點 |
HTTP方法 |
---|---|
|
|
獲取所有集群上所有庫的狀態。通過API或libraries UI安裝在集群上的所有庫,以及通過libraries UI設置安裝在所有集群上的庫,都將顯示狀態。如果庫已設置為安裝在所有集群上,則is_library_for_all_clusters
將真正的
,即使庫也安裝在這個特定的集群上。
例子
請求
curl—netrc—請求GET\https:// < databricks-instance > / api / 2.0 /圖書館/ all-cluster-statuses\|金橋。
取代< databricks-instance >
和數據庫工作空間實例名稱例如,1234567890123456.7.gcp.www.eheci.com
.
響應
{“狀態”:[{“cluster_id”:“11203 -我的集群”,“library_statuses”:[{“圖書館”:{“罐子”:“dbfs: / mnt /圖書館/ library.jar”},“狀態”:“安裝”,“消息”:[],“is_library_for_all_clusters”:假}]},{“cluster_id”:“20131 -我-其他-集群”,“library_statuses”:[{“圖書館”:{“蛋”:“dbfs: / mnt /圖書館/ library.egg”},“狀態”:“錯誤”,“消息”:[“無法下載圖書館”),“is_library_for_all_clusters”:假}]}]}
集群狀態
端點 |
HTTP方法 |
---|---|
|
|
獲取集群上庫的狀態。通過API或libraries UI安裝在集群上的所有庫以及通過libraries UI設置安裝在所有集群上的庫的狀態都將可用。如果庫已設置為安裝在所有集群上,則is_library_for_all_clusters
將真正的
,即使庫也安裝在集群上。
例子
請求
curl—netrc—請求GET\“https:// < databricks-instance > / api / 2.0 /圖書館/集群狀態?cluster_id = < cluster-id >”\|金橋。
或者:
Curl—netrc—get\https:// < databricks-instance > / api / 2.0 /圖書館/集群狀態\——數據cluster_id=< cluster-id >\|金橋。
替換:
< databricks-instance >
和數據庫工作空間實例名稱例如,1234567890123456.7.gcp.www.eheci.com
.< cluster-id >
以集群的Databricks工作區ID為例1234 - 567890 example123
.
響應
{“cluster_id”:“11203 -我的集群”,“library_statuses”:[{“圖書館”:{“罐子”:“dbfs: / mnt /圖書館/ library.jar”},“狀態”:“安裝”,“消息”:[],“is_library_for_all_clusters”:假},{“圖書館”:{“pypi”:{“包”:“beautifulsoup4”},},“狀態”:“安裝”,“消息”:["成功解析來自PyPI的包"),“is_library_for_all_clusters”:假},{“圖書館”:{“凹口”:{“包”:“艾達”,“回購”:“https://cran.us.r-project.org”},},“狀態”:“失敗”,“消息”:[“此spark版本不支持R包安裝。請升級到運行時3.2或更高版本"),“is_library_for_all_clusters”:假}]}
安裝
端點 |
HTTP方法 |
---|---|
|
|
在集群上安裝庫。安裝是異步的——它在後台完成請求之後。
重要的
如果集群終止,此調用將失敗。
在集群上安裝wheel庫就像運行皮普
命令對車輪文件直接對驅動器和執行者。庫中指定的所有依賴項setup . py
文件,這要求庫名稱滿足車輪文件名約定.
隻有在啟動新任務時才會在執行器上進行安裝。在Databricks Runtime 7.1及以下版本中,庫的安裝順序是不確定的。對於車輪庫,可以通過創建帶後綴的zip文件來確保確定的安裝順序.wheelhouse.zip
這包括所有的車輪文件。
請注意
在Databricks Runtime 7.3 LTS上支持Maven庫(沒有其他7。X版本)和8.1及以上版本。
例子
curl—netrc—請求POST\https:// < databricks-instance > / api / 2.0 /圖書館/安裝\——數據@install-libraries.json
install-libraries.json
:
{“cluster_id”:“10201 -我的集群”,“庫”:[{“罐子”:“dbfs: / mnt /圖書館/ library.jar”},{“蛋”:“dbfs: / mnt /圖書館/ library.egg”},{“whl”:“dbfs: / mnt /圖書館/ mlflow-0.0.1.dev0-py2-none-any.whl”},{“whl”:“dbfs: / mnt /圖書館/ wheel-libraries.wheelhouse.zip”},{“專家”:{“坐標”:“org.jsoup: jsoup: 1.7.2”,“除外責任”:[“slf4j: slf4j”]}},{“pypi”:{“包”:“simplejson”,“回購”:“https://my-pypi-mirror.com”}},{“凹口”:{“包”:“艾達”,“回購”:“https://cran.us.r-project.org”}}]}
替換:
< databricks-instance >
和數據庫工作空間實例名稱例如,1234567890123456.7.gcp.www.eheci.com
.的內容
install-libraries.json
使用適合您的解決方案的字段。
本例使用. netrc文件。
請求結構
字段名 |
類型 |
描述 |
---|---|---|
cluster_id |
|
要在其中安裝這些庫的集群的唯一標識符。該字段為必填項。 |
庫 |
的數組圖書館 |
要安裝的庫。 |
卸載
端點 |
HTTP方法 |
---|---|
|
|
在集群中設置要卸載的庫。在重新啟動集群之前,不會卸載庫。卸載未安裝在集群上的庫沒有影響,但不是錯誤。
例子
curl—netrc—請求POST\https:// < databricks-instance > / api / 2.0 /圖書館/卸載\——數據@uninstall-libraries.json
uninstall-libraries.json
:
{“cluster_id”:“10201 -我的集群”,“庫”:[{“罐子”:“dbfs: / mnt /圖書館/ library.jar”},{“凹口”:“艾達”}]}
替換:
< databricks-instance >
和數據庫工作空間實例名稱例如,1234567890123456.7.gcp.www.eheci.com
.的內容
uninstall-libraries.json
使用適合您的解決方案的字段。
本例使用. netrc文件。
請求結構
字段名 |
類型 |
描述 |
---|---|---|
cluster_id |
|
要在其上卸載這些庫的集群的唯一標識符。該字段為必填項。 |
庫 |
的數組圖書館 |
要卸載的庫。 |
數據結構
本節:
ClusterLibraryStatuses
字段名 |
類型 |
描述 |
---|---|---|
cluster_id |
|
集群的唯一標識符。 |
library_statuses |
集群上所有庫的狀態。 |
圖書館
字段名 |
類型 |
描述 |
---|---|---|
罐子、雞蛋、whl、pypi、maven或crane |
|
如果是jar,則表示要安裝的jar的URI。DBFS和GCS ( 如果egg,則要安裝的egg的URI。支持DBFS和GCS uri。例如: 如果whl,則表示要安裝的輪子或壓縮輪子的URI。支持DBFS和GCS uri。例如: 如果是pypi,則表示要安裝的pypi庫的規範。指定 如果是maven,則是要安裝的maven庫的規範。例如: 如果是cran,要安裝的cran庫的規格。 |
LibraryFullStatus
特定集群上庫的狀態。
字段名 |
類型 |
描述 |
---|---|---|
圖書館 |
庫的唯一標識符。 |
|
狀態 |
集群上安裝庫的狀態。 |
|
消息 |
的數組 |
這個庫到目前為止出現的所有信息和警告消息。 |
is_library_for_all_clusters |
|
是否通過libraries UI將庫設置為安裝在所有集群上。 |
MavenLibrary
請注意
在Databricks Runtime 7.3 LTS上支持Maven庫(沒有其他7。X版本)和8.1及以上版本。
字段名 |
類型 |
描述 |
---|---|---|
坐標 |
|
gradle風格的Maven坐標。例如: |
回購 |
|
用於安裝Maven包的Maven repo。如果省略,則同時搜索Maven中央存儲庫和Spark包。 |
除外責任 |
的數組 |
要排除的依賴項列表。例如: Maven依賴排除:https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. |
PythonPyPiLibrary
字段名 |
類型 |
描述 |
---|---|---|
包 |
|
要安裝的PyPI包的名稱。還支持可選的精確版本規範。例子: |
回購 |
|
可以在其中找到包的存儲庫。如果未指定,則使用默認pip索引。 |
RCranLibrary
字段名 |
類型 |
描述 |
---|---|---|
包 |
|
要安裝的CRAN包的名稱。該字段為必填項。 |
回購 |
|
可以在其中找到包的存儲庫。如果不指定,則使用默認的CRAN回購。 |
LibraryInstallStatus
特定集群上庫的狀態。
狀態 |
描述 |
---|---|
等待 |
目前還沒有采取任何行動來安裝這個庫。這種狀態應該是非常短暫的。 |
解決 |
正在從提供的存儲庫檢索安裝庫所需的元數據。 對於Jar、Egg和Whl庫,這一步是沒有操作的。 |
安裝 |
通過向Spark添加資源或在Spark節點內執行係統命令,庫正在被主動安裝。 |
安裝 |
庫已經成功安裝。 |
跳過 |
由於Scala版本不兼容,在Databricks Runtime 7.0或以上版本的集群上跳過安裝。 |
失敗的 |
安裝中的某些步驟失敗。更多信息可以在messages字段中找到。 |
UNINSTALL_ON_RESTART |
這座圖書館已被標記要搬走。隻有在集群重新啟動時才能刪除庫,因此進入這種狀態的庫將一直保持到集群重新啟動。 |