庫API 2.0

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

重要的

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

請注意

在Databricks Runtime 7.3 LTS上支持Maven庫(沒有其他7。X版本)和8.1及以上版本。

所有集群狀態

端點

HTTP方法

2.0 /圖書館/ all-cluster-statuses

得到

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

例子

請求

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

取代< databricks-instance >和數據庫工作空間實例名稱例如,1234567890123456.7.gcp.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或libraries UI安裝在集群上的所有庫以及通過libraries UI設置安裝在所有集群上的庫的狀態都將可用。如果庫已設置為安裝在所有集群上,則is_library_for_all_clusters真正的,即使庫也安裝在集群上。

例子

請求

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

或者:

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

替換:

  • < databricks-instance >和數據庫工作空間實例名稱例如,1234567890123456.7.gcp.www.eheci.com

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

請求結構

字段名

類型

描述

cluster_id

字符串

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

響應結構

字段名

類型

描述

cluster_id

字符串

集群的唯一標識符。

library_statuses

的數組LibraryFullStatus

集群上所有庫的狀態。

安裝

端點

HTTP方法

2.0 /圖書館/安裝

帖子

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

重要的

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

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

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

請注意

在Databricks Runtime 7.3 LTS上支持Maven庫(沒有其他7。X版本)和8.1及以上版本。

例子

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 >和數據庫工作空間實例名稱例如,1234567890123456.7.gcp.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 >和數據庫工作空間實例名稱例如,1234567890123456.7.gcp.www.eheci.com

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

本例使用. netrc文件。

請求結構

字段名

類型

描述

cluster_id

字符串

要在其上卸載這些庫的集群的唯一標識符。該字段為必填項。

的數組圖書館

要卸載的庫。

數據結構

ClusterLibraryStatuses

字段名

類型

描述

cluster_id

字符串

集群的唯一標識符。

library_statuses

的數組LibraryFullStatus

集群上所有庫的狀態。

圖書館

字段名

類型

描述

罐子、雞蛋、whl、pypi、maven或crane

字符串字符串字符串PythonPyPiLibraryMavenLibraryRCranLibrary

如果是jar,則表示要安裝的jar的URI。DBFS和GCS (gs)支持uri。例如:“罐子”:“dbfs: / mnt /磚/ library.jar”“罐子”:“gs: / /桶/ library.jar”.如果使用GCS,請確保集群對庫具有讀訪問權。

如果egg,則要安裝的egg的URI。支持DBFS和GCS uri。例如:“蛋”:“dbfs: /我的/蛋”“蛋”:“gs: / /桶/蛋”

如果whl,則表示要安裝的輪子或壓縮輪子的URI。支持DBFS和GCS uri。例如:“whl”:“dbfs: /我的/ whl”“whl”:“gs: / /桶/ whl”.如果使用GCS,請確保集群對庫具有讀訪問權。車輪文件名也需要使用正確的公約.如果要安裝壓縮輪,則文件名後綴應為.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

保齡球

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

MavenLibrary

請注意

在Databricks Runtime 7.3 LTS上支持Maven庫(沒有其他7。X版本)和8.1及以上版本。

字段名

類型

描述

坐標

字符串

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

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