庫API 2.0

庫API允許您安裝和卸載圖書館和圖書館集群上的地位。

重要的

訪問數據磚REST api,你必須進行身份驗證

所有集群狀態

端點

HTTP方法

2.0 /圖書館/ all-cluster-statuses

得到

得到所有圖書館的地位在所有集群。狀態可以對所有庫安裝在集群通過API或UI庫以及庫將被安裝在所有集群通過UI庫。如果一個庫將被安裝在所有集群,is_library_for_all_clusters真正的,即使圖書館也安裝在這個特定的集群。

例子

請求

curl——netrc請求\https:// < databricks-instance > / api / 2.0 /圖書館/ all-cluster-statuses\|金橋。

取代< databricks-instance >與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com

這個示例使用. netrc文件和金橋

響應

{“狀態”:({“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”:}]}]}

響應結構

字段名

類型

描述

狀態

一個數組的ClusterLibraryStatuses

一個集群狀態列表。

集群狀態

端點

HTTP方法

2.0 /圖書館/集群狀態

得到

讓圖書館集群上的狀態。狀態可以對所有庫安裝在集群通過API或圖書館UI以及圖書館將被安裝在所有集群通過UI庫。如果一個庫將被安裝在所有集群,is_library_for_all_clusters真正的,即使圖書館也安裝在集群。

例子

請求

curl——netrc請求\“https:// < databricks-instance > / api / 2.0 /圖書館/集群狀態? cluster_id = < cluster-id > '\|金橋。

或者:

curl——netrc\https:// < databricks-instance > / api / 2.0 /圖書館/集群狀態\——數據cluster_id=< cluster-id >\|金橋。

替換:

  • < databricks-instance >與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com

  • < cluster-id >集群的磚工作區ID,例如1234 - 567890 example123

這個示例使用. netrc文件和金橋

響應

{“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”},},“狀態”:“失敗”,“消息”:(“R包安裝在這火花版本不支持。\ nPlease升級到運行時3.2或更高版本”),“is_library_for_all_clusters”:}]}

請求結構

字段名

類型

描述

cluster_id

字符串

集群的惟一標識符的地位應該檢索。這個字段是必需的。

響應結構

字段名

類型

描述

cluster_id

字符串

集群的惟一標識符。

library_statuses

一個數組的LibraryFullStatus

所有圖書館集群的狀態。

安裝

端點

HTTP方法

2.0 /圖書館/安裝

帖子

在一個集群上安裝庫。安裝後是異步的,它在後台完成請求。

重要的

這個調用會失敗如果集群終止。

安裝車輪圖書館集群上運行皮普命令對車輪文件直接在司機和執行者。庫中指定的所有依賴項setup . py文件安裝,這需要庫名稱來滿足輪文件名公約

安裝在執行器發生隻有當啟動一個新任務。與磚7.1運行時,下麵,庫的安裝順序是不確定的。對於輪庫,您可以確保確定的安裝順序通過創建一個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.m.eheci.com

  • 的內容install-libraries.json與字段,適合您的解決方案。

這個示例使用. netrc文件。

請求結構

字段名

類型

描述

cluster_id

字符串

集群的惟一標識符來安裝這些庫。這個字段是必需的。

一個數組的圖書館

安裝的庫。

卸載

端點

HTTP方法

2.0 /圖書館/卸載

帖子

設置庫上卸載一個集群。庫不卸載,直到重新啟動集群。卸載庫沒有安裝在集群上沒有影響,但並不是一個錯誤。

例子

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.m.eheci.com

  • 的內容uninstall-libraries.json與字段,適合您的解決方案。

這個示例使用. netrc文件。

請求結構

字段名

類型

描述

cluster_id

字符串

集群的惟一標識符來卸載這些庫。這個字段是必需的。

一個數組的圖書館

庫卸載。

數據結構

ClusterLibraryStatuses

字段名

類型

描述

cluster_id

字符串

集群的惟一標識符。

library_statuses

一個數組的LibraryFullStatus

所有圖書館集群的狀態。

圖書館

字段名

類型

描述

jar或蛋whl pypi或maven或凹口

字符串字符串字符串PythonPyPiLibraryMavenLibraryRCranLibrary

如果jar, URI的jar安裝。支持DBFS和S3 uri。例如:{“罐子”:“dbfs: / mnt /磚/ library.jar”}{“罐子”:“s3: / /桶/ library.jar”}。如果使用S3,確保集群在圖書館讀訪問。你可能需要啟動實例的集群配置文件訪問S3 URI。

如果雞蛋,雞蛋的URI被安裝。支持DBFS和S3 uri。例如:{“蛋”:“dbfs: /我的/蛋”}{“蛋”:“s3: / /桶/蛋”}。如果使用S3,確保集群在圖書館讀訪問。你可能需要啟動實例的集群配置文件訪問S3 URI。

如果whl, URI的車輪或壓縮安裝車輪。支持DBFS和S3 uri。例如:{“whl”:“dbfs: /我的/ whl”}{“whl”:“s3: / /桶/ whl”}。如果使用S3,確保集群在圖書館讀訪問。你可能需要啟動實例的集群配置文件訪問S3 URI。輪文件名需要使用正確的公約。如果要安裝壓縮輪子,文件名後綴.wheelhouse.zip

如果pypi, pypi庫安裝的規範。指定回購字段是可選的,如果沒有指定,默認使用脈衝指數。例如:{“包”:“simplejson”,“回購”:“https://my-repo.com”}

如果maven, maven庫安裝的規範。例如:{“坐標”:“org.jsoup: jsoup: 1.7.2”}

如果凹口,凹口庫安裝的規範。

LibraryFullStatus

圖書館在特定集群的狀態。

字段名

類型

描述

圖書館

圖書館

圖書館的惟一標識符。

狀態

LibraryInstallStatus

在集群上安裝庫的狀態。

消息

一個數組的字符串

發生的所有信息和警告信息到目前為止這個庫。

is_library_for_all_clusters

BOOL

圖書館是否將被安裝在所有集群通過UI庫。

MavenLibrary

字段名

類型

描述

坐標

字符串

Gradle-style Maven坐標。例如:org.jsoup: jsoup:是1.7.2。這個字段是必需的。

回購

字符串

Maven回購安裝Maven寄來的包裹。如果省略,Maven中央存儲庫和引發搜索包。

除外責任

一個數組的字符串

依賴性排除列表。例如:[" slf4j: slf4j”,“* hadoop-client”):

Maven依賴除外責任:https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

PythonPyPiLibrary

字段名

類型

描述

字符串

的名字PyPI包安裝。還支持一個可選的版本規範。例子:simplejsonsimplejson = = 3.8.0。這個字段是必需的。

回購

字符串

可以找到包的存儲庫。如果沒有指定,默認使用脈衝指數。

RCranLibrary

字段名

類型

描述

字符串

凹口的名字包安裝。這個字段是必需的。

回購

字符串

可以找到包的存儲庫。如果沒有指定,默認使用凹口回購。

LibraryInstallStatus

圖書館在一個特定的集群的狀態。

狀態

描述

等待

沒有安裝圖書館尚未采取行動。這個狀態應該是非常短暫的。

解決

元數據需要安裝圖書館正在從提供存儲庫中檢索。

為Jar、雞蛋、Whl庫,這一步是無為法。

安裝

圖書館積極安裝,通過添加資源火花或執行係統命令在火花節點。

安裝

圖書館已成功安裝。

跳過

安裝在磚集群運行時7.0或以上的跳過是因為Scala版本不兼容。

失敗的

一些步驟安裝失敗。在消息字段中可以找到更多信息。

UNINSTALL_ON_RESTART

圖書館被標記為刪除。庫可以刪除隻有當集群重新啟動,所以圖書館進入這種狀態將保持,直到重新啟動集群。