库API 2.0
Libraries API允许您安装和卸载库,并获得集群上库的状态。
重要的
要访问Databricks REST api,必须进行身份验证.
请注意
在Databricks Runtime 7.3 LTS上支持Maven库(没有其他7。X版本)和8.1及以上版本。
所有集群状态
端点 |
HTTP方法 |
---|---|
|
|
获取所有集群上所有库的状态。通过API或libraries UI安装在集群上的所有库,以及通过libraries UI设置安装在所有集群上的库,都将显示状态。如果库已设置为安装在所有集群上,则is_library_for_all_clusters
将真正的
,即使库也安装在这个特定的集群上。
例子
请求
curl—netrc—请求GET\https:// < databricks-instance > / api / 2.0 /图书馆/ all-cluster-statuses\|金桥。
取代< databricks-instance >
和数据库工作空间实例名称例如,1234567890123456.7.gcp.www.neidfyre.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或libraries UI安装在集群上的所有库以及通过libraries UI设置安装在所有集群上的库的状态都将可用。如果库已设置为安装在所有集群上,则is_library_for_all_clusters
将真正的
,即使库也安装在集群上。
例子
请求
curl—netrc—请求GET\“https:// < databricks-instance > / api / 2.0 /图书馆/集群状态?cluster_id = < cluster-id >”\|金桥。
或者:
Curl—netrc—get\https:// < databricks-instance > / api / 2.0 /图书馆/集群状态\——数据cluster_id=< cluster-id >\|金桥。
替换:
< databricks-instance >
和数据库工作空间实例名称例如,1234567890123456.7.gcp.www.neidfyre.com
.< cluster-id >
以集群的Databricks工作区ID为例1234 - 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包安装。请升级到运行时3.2或更高版本"),“is_library_for_all_clusters”:假}]}
安装
端点 |
HTTP方法 |
---|---|
|
|
在集群上安装库。安装是异步的——它在后台完成请求之后。
重要的
如果集群终止,此调用将失败。
在集群上安装wheel库就像运行皮普
命令对车轮文件直接对驱动器和执行者。库中指定的所有依赖项setup . py
文件,这要求库名称满足车轮文件名约定.
只有在启动新任务时才会在执行器上进行安装。在Databricks Runtime 7.1及以下版本中,库的安装顺序是不确定的。对于车轮库,可以通过创建带后缀的zip文件来确保确定的安装顺序.wheelhouse.zip
这包括所有的车轮文件。
请注意
在Databricks Runtime 7.3 LTS上支持Maven库(没有其他7。X版本)和8.1及以上版本。
例子
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 >
和数据库工作空间实例名称例如,1234567890123456.7.gcp.www.neidfyre.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 >
和数据库工作空间实例名称例如,1234567890123456.7.gcp.www.neidfyre.com
.的内容
uninstall-libraries.json
使用适合您的解决方案的字段。
本例使用. netrc文件。
请求结构
字段名 |
类型 |
描述 |
---|---|---|
cluster_id |
|
要在其上卸载这些库的集群的唯一标识符。该字段为必填项。 |
库 |
的数组图书馆 |
要卸载的库。 |
数据结构
本节:
ClusterLibraryStatuses
字段名 |
类型 |
描述 |
---|---|---|
cluster_id |
|
集群的唯一标识符。 |
library_statuses |
集群上所有库的状态。 |
图书馆
字段名 |
类型 |
描述 |
---|---|---|
罐子、鸡蛋、whl、pypi、maven或crane |
|
如果是jar,则表示要安装的jar的URI。DBFS和GCS ( 如果egg,则要安装的egg的URI。支持DBFS和GCS uri。例如: 如果whl,则表示要安装的轮子或压缩轮子的URI。支持DBFS和GCS uri。例如: 如果是pypi,则表示要安装的pypi库的规范。指定 如果是maven,则是要安装的maven库的规范。例如: 如果是cran,要安装的cran库的规格。 |
LibraryFullStatus
特定集群上库的状态。
字段名 |
类型 |
描述 |
---|---|---|
图书馆 |
库的唯一标识符。 |
|
状态 |
集群上安装库的状态。 |
|
消息 |
的数组 |
这个库到目前为止出现的所有信息和警告消息。 |
is_library_for_all_clusters |
|
是否通过libraries UI将库设置为安装在所有集群上。 |
MavenLibrary
请注意
在Databricks Runtime 7.3 LTS上支持Maven库(没有其他7。X版本)和8.1及以上版本。
字段名 |
类型 |
描述 |
---|---|---|
坐标 |
|
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 |
这座图书馆已被标记要搬走。只有在集群重新启动时才能删除库,因此进入这种状态的库将一直保持到集群重新启动。 |