库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.neidfyre.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.neidfyre.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.neidfyre.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.neidfyre.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

这座图书馆已被标记要搬走。只有在集群重新启动时才能删除库,因此进入这种状态的库将一直保持到集群重新启动。