庫API 2.0

Libraries API允許您安裝和卸載庫,並獲得集群上庫的狀態。

重要的

要訪問Databricks的REST api,您必須進行身份驗證

所有集群狀態

端點

HTTP方法

2.0 /圖書館/ all-cluster-statuses

得到

獲取所有集群上所有庫的狀態。通過API或庫UI,所有安裝在集群上的庫都可以使用狀態,通過庫UI,也可以設置安裝在所有集群上的庫。如果已將庫設置為安裝在所有集群上,is_library_for_all_clusters真正的,即使庫也安裝在這個特定的集群上。

例子

請求

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

取代< databricks-instance >和數據公司的人工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.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——請求GET“https:// < databricks-instance > / api / 2.0 /圖書館/集群狀態?cluster_id = < cluster-id >”|金橋。

或者:

卷曲——netrc——gethttps:// < databricks-instance > / api / 2.0 /圖書館/集群狀態——數據cluster_id< cluster-id >|金橋。

替換:

  • < databricks-instance >和數據公司的人工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com

  • < cluster-id >例如,使用集群的Databricks工作區ID1234 - 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”},},“狀態”“失敗”“消息”"此spark版本不支持R包安裝。\n請升級到運行時3.2或更高版本"),“is_library_for_all_clusters”

請求結構

字段名

類型

描述

cluster_id

字符串

應檢索其狀態的集群的唯一標識符。此字段為必填項。

響應結構

字段名

類型

描述

cluster_id

字符串

集群的唯一標識符。

library_statuses

的數組LibraryFullStatus

集群上所有庫的狀態。

安裝

端點

HTTP方法

2.0 /圖書館/安裝

帖子

在集群上安裝庫。安裝是異步的——它在請求之後在後台完成。

重要的

如果集群終止,此調用將失敗。

在集群上安裝輪庫就像運行皮普命令對車輪文件直接對驅動程序和執行程序。庫中指定的所有依賴項setup . py文件,這需要庫名稱滿足車輪文件名約定

隻有在啟動新任務時,才會在執行程序上進行安裝。在Databricks Runtime 7.1及以下版本中,庫的安裝順序是不確定的。對於wheel庫,可以通過創建帶有後綴的zip文件來確保確定的安裝順序.wheelhouse.zip這包括所有的車輪文件。

例子

curl——netrc——請求POSThttps:// < 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方法

2.0 /圖書館/卸載

帖子

在集群上設置要卸載的庫。在重新啟動集群之前,不會卸載庫。卸載未安裝在集群上的庫沒有影響,但不是錯誤。

例子

curl——netrc——請求POSThttps:// < 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

的數組LibraryFullStatus

集群上所有庫的狀態。

圖書館

字段名

類型

描述

罐子或雞蛋或whl或pypi或maven或cran

字符串字符串字符串PythonPyPiLibraryMavenLibraryRCranLibrary

如jar,表示待安裝jar的URI。支持DBFS和S3 uri。例如:“罐子”:“dbfs: / mnt /磚/ library.jar”“罐子”:“s3: / /桶/ library.jar”.如果使用S3,請確保集群對庫具有讀訪問權限。您可能需要使用實例概要文件啟動集群以訪問S3 URI。

如果是egg,則表示要安裝的egg的URI。支持DBFS和S3 uri。例如:“蛋”:“dbfs: /我的/蛋”“蛋”:“s3: / /桶/蛋”.如果使用S3,請確保集群對庫具有讀訪問權限。您可能需要使用實例概要文件啟動集群以訪問S3 URI。

如果whl,要安裝的輪或壓縮輪的URI。支持DBFS和S3 uri。例如:“whl”:“dbfs: /我的/ whl”“whl”:“s3: / /桶/ whl”.如果使用S3,請確保集群對庫具有讀訪問權限。您可能需要使用實例概要文件啟動集群以訪問S3 URI。另外,wheel文件名需要使用正確的公約.如果要安裝壓縮輪,則文件名後綴應為.wheelhouse.zip

如果是pypi,則表示要安裝的pypi庫的規範。指定回購字段是可選的,如果不指定,則使用默認的PIP索引。例如:“包”:“simplejson”,“回購”:“https://my-repo.com”

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

如果是cran,則表示要安裝的cran庫的規格。

LibraryFullStatus

特定集群上庫的狀態。

字段名

類型

描述

圖書館

圖書館

庫的唯一標識符。

狀態

LibraryInstallStatus

在集群上安裝庫的狀態。

消息

的數組字符串

此庫到目前為止出現的所有信息和警告消息。

is_library_for_all_clusters

保齡球

庫是否被設置為通過庫UI安裝在所有集群上。

MavenLibrary

字段名

類型

描述

坐標

字符串

gradle風格的Maven坐標。例如:org.jsoup: jsoup:是1.7.2.此字段為必填項。

回購

字符串

用於安裝Maven包的Maven repo。如果省略,將搜索Maven中央存儲庫和Spark包。

除外責任

的數組字符串

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

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

PythonPyPiLibrary

字段名

類型

描述

字符串

要安裝的PyPI包的名稱。還支持可選的精確版本規範。例子:simplejson而且simplejson = = 3.8.0.此字段為必填項。

回購

字符串

可以在其中找到包的存儲庫。如果不指定,則使用默認pip索引。

RCranLibrary

字段名

類型

描述

字符串

要安裝的CRAN包的名稱。此字段為必填項。

回購

字符串

可以在其中找到包的存儲庫。如果不指定,則使用默認的CRAN回購。

LibraryInstallStatus

特定集群上庫的狀態。

狀態

描述

等待

還沒有采取任何操作來安裝庫。這種狀態應該是非常短暫的。

解決

正在從所提供的存儲庫中檢索安裝庫所需的元數據。

對於Jar、Egg和Whl庫,這一步是不需要操作的。

安裝

通過向Spark添加資源或在Spark節點內執行係統命令,庫正在積極地安裝。

安裝

庫已成功安裝。

跳過

由於Scala版本不兼容,跳過了在Databricks Runtime 7.0或以上集群上的安裝。

失敗的

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

UNINSTALL_ON_RESTART

圖書館已被標記要搬走。隻有在集群重新啟動時才能刪除庫,因此進入此狀態的庫將一直保留到集群重新啟動為止。