庫API 2.0
Libraries API允許您安裝和卸載庫,並獲得集群上庫的狀態。
重要的
要訪問Databricks的REST api,您必須進行身份驗證.
所有集群狀態
端點 |
HTTP方法 |
---|---|
|
|
獲取所有集群上所有庫的狀態。通過API或庫UI,所有安裝在集群上的庫都可以使用狀態,通過庫UI,也可以設置安裝在所有集群上的庫。如果已將庫設置為安裝在所有集群上,is_library_for_all_clusters
將真正的
,即使庫也安裝在這個特定的集群上。
例子
請求
curl——netrc——請求GET\https:// < databricks-instance > / api / 2.0 /圖書館/ all-cluster-statuses\|金橋。
取代< databricks-instance >
和數據公司的人工作區實例名例如,dbc-a1b2345c-d6e7.cloud.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或庫UI,所有安裝在集群上的庫都可以使用狀態,通過庫UI,也可以設置安裝在所有集群上的庫。如果已將庫設置為安裝在所有集群上,is_library_for_all_clusters
將真正的
,即使庫也安裝在集群上。
例子
請求
curl——netrc——請求GET\“https:// < databricks-instance > / api / 2.0 /圖書館/集群狀態?cluster_id = < cluster-id >”\|金橋。
或者:
卷曲——netrc——get\https:// < databricks-instance > / api / 2.0 /圖書館/集群狀態\——數據cluster_id=< cluster-id >\|金橋。
替換:
< databricks-instance >
和數據公司的人工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com
.< cluster-id >
例如,使用集群的Databricks工作區ID1234 - 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包安裝。\n請升級到運行時3.2或更高版本"),“is_library_for_all_clusters”:假}]}
安裝
端點 |
HTTP方法 |
---|---|
|
|
在集群上安裝庫。安裝是異步的——它在請求之後在後台完成。
重要的
如果集群終止,此調用將失敗。
在集群上安裝輪庫就像運行皮普
命令對車輪文件直接對驅動程序和執行程序。庫中指定的所有依賴項setup . py
文件,這需要庫名稱滿足車輪文件名約定.
隻有在啟動新任務時,才會在執行程序上進行安裝。在Databricks Runtime 7.1及以下版本中,庫的安裝順序是不確定的。對於wheel庫,可以通過創建帶有後綴的zip文件來確保確定的安裝順序.wheelhouse.zip
這包括所有的車輪文件。
例子
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 >
和數據公司的人工作區實例名例如,dbc-a1b2345c-d6e7.cloud.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 >
和數據公司的人工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com
.的內容
uninstall-libraries.json
使用適合您的解決方案的字段。
此示例使用. netrc文件。
請求結構
字段名 |
類型 |
描述 |
---|---|---|
cluster_id |
|
要卸載這些庫的集群的唯一標識符。此字段為必填項。 |
庫 |
的數組圖書館 |
要卸載的庫。 |
數據結構
在本節中:
ClusterLibraryStatuses
字段名 |
類型 |
描述 |
---|---|---|
cluster_id |
|
集群的唯一標識符。 |
library_statuses |
集群上所有庫的狀態。 |
圖書館
字段名 |
類型 |
描述 |
---|---|---|
罐子或雞蛋或whl或pypi或maven或cran |
|
如jar,表示待安裝jar的URI。支持DBFS和S3 uri。例如: 如果是egg,則表示要安裝的egg的URI。支持DBFS和S3 uri。例如: 如果whl,要安裝的輪或壓縮輪的URI。支持DBFS和S3 uri。例如: 如果是pypi,則表示要安裝的pypi庫的規範。指定 如果是maven,則是要安裝的maven庫的規範。例如: 如果是cran,則表示要安裝的cran庫的規格。 |
LibraryFullStatus
特定集群上庫的狀態。
字段名 |
類型 |
描述 |
---|---|---|
圖書館 |
庫的唯一標識符。 |
|
狀態 |
在集群上安裝庫的狀態。 |
|
消息 |
的數組 |
此庫到目前為止出現的所有信息和警告消息。 |
is_library_for_all_clusters |
|
庫是否被設置為通過庫UI安裝在所有集群上。 |
MavenLibrary
字段名 |
類型 |
描述 |
---|---|---|
坐標 |
|
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 |
圖書館已被標記要搬走。隻有在集群重新啟動時才能刪除庫,因此進入此狀態的庫將一直保留到集群重新啟動為止。 |