开始
加载和管理数据
处理数据
政府
参考资料及资源
2023年4月18日更新
给我们反馈
Databricks有三个REST api来执行不同的任务:
2.0和2.1一般管理
1.2用于直接在Databricks上运行命令
有关所有REST api的最新版本,请参见REST API(最新)。你也可以直接跳转到每个版本的REST API主页:2.1,2.0,或1.2。
重要的
要访问Databricks REST api,您必须进行身份验证。
REST API浏览器(测试版)
账户API2.0
集群API2.0
集群策略API2.0
Databricks SQL查询,仪表板和警报API2.0
Databricks SQL查询历史API2.0
Databricks SQL仓库API2.0
DBFS API2.0
Delta Live Tables API2.0
Git凭据API2.0
全局初始化脚本API2.0
组API2.0
实例池API2.0
IP访问列表API2.0
乔布斯API2.1,2.0
库API2.0
MLflow API2.0
权限API2.0
回购API2.0
SCIM API2.0
秘密的API2.0
令牌API2.0
令牌管理API2.0
工作区API2.0
API1.2
有关对REST API进行身份验证的信息,请参见使用Databricks个人访问令牌进行身份验证。有关API示例,请参见API的例子。
为了确保高负载下的高质量服务,Databricks对所有REST API调用实施速率限制。每个端点和每个工作区都设置了限制,以确保公平使用和高可用性。
超出速率限制的请求返回a429响应状态码。
有关API请求速率限制的信息,请参见API速率限制。
解析部分JSON输出可能很有用。Databricks推荐这个实用程序金桥用于解析JSON。你可以安装金桥在Linux上通过金桥版本,在macOS上使用Homebrew酿造安装金桥,或者在Windows上使用Chocolatey with乔科省安装金桥。欲知更多有关金桥,请参阅金桥手册。
金桥
酿造安装金桥
乔科省安装金桥
本例列出指定工作区中可用集群的名称和id。本例使用. netrc文件。
curl——netrc -X GET https://1234567890123456.7.gcp.www.neidfyre.com/api/2.0/clusters/list\|金桥'[.clusters[] | {id: .cluster_id,名称:.cluster_name}]'
[{“id”:“1234 - 567890 batch123”,"name": "My Cluster 1"},{“id”:“2345 - 678901 rigs234”,"name": "My Cluster 2"}]
相同API版本的响应不会从JSON输出中删除任何字段。但是,API可能会在不增加API版本的情况下向JSON输出添加新字段。您的编程工作流必须意识到这些添加并忽略未知字段。
一些字符串字段(包含错误和用于UI的描述性消息传递)是非结构化的,您不应该依赖于程序化工作流中这些字段的格式。
字符串
旋度是一种用于在服务器之间传输数据的流行工具。本节提供有关使用curl调用Databricks REST API的具体信息。
虽然大多数API调用要求您指定JSON主体,但for得到调用,您可以通过在后面附加查询字符串来指定查询字符串?并将URL用引号括起来。如果你使用旋度,您可以指定——得到(或- g),——数据(或- d)以及查询字符串;您不需要将URL或查询字符串用引号括起来。
得到
?
旋度
——得到
- g
——数据
- d
在下面的示例中,替换1234567890123456.7.gcp.www.neidfyre.com与工作空间的URL您的Databricks部署。
1234567890123456.7.gcp.www.neidfyre.com
此示例打印指定集群的信息。本例使用. netrc文件。
使用?:
curl——netrc“https://1234567890123456.7.gcp.www.neidfyre.com/api/2.0/clusters/get?cluster_id=1234 - 567890 patch123”
使用——得到和——数据:
卷曲——中性——得到\https://1234567890123456.7.gcp.www.neidfyre.com/api/2.0/clusters/get\——数据cluster_id=1234567890 - batch123
{“cluster_id”:“1234 - 567890 batch123”,"司机":{" node_aws_attributes ": {“is_spot”:假的},:“private_ip 127.0.0.1”},cluster_name:我的集群。…}
请求是一个流行的库,用于在Python中发出HTTP请求。此示例使用请求库列出有关指定Databricks集群的信息。本例使用. netrc文件。
请求
进口请求进口json即instance_id=“1234567890123456.7.gcp.www.neidfyre.com”api_version=' / api / 2.0 'api_command=/集群/得到的url=f“https://{即instance_id} {api_version} {api_command}"参数个数={“cluster_id”:“1234 - 567890 batch123”}响应=请求。得到(url=url,参数个数=参数个数)打印(json。转储(json。加载(响应。文本),缩进=2))
{“cluster_id”:“1234 - 567890 batch123”,"司机":{…},“spark_context_id”:1234567890123456789,…}
在邮递员的应用,创建一个新的HTTP请求(文件>新>HTTP请求).
在HTTP谓词下拉列表中,选择与要调用的REST API操作匹配的谓词。例如,要列出有关Databricks集群的信息,请选择得到。
为输入请求URL,从进入https:// < databricks-instance-name >,在那里< databricks-instance-name >你的Databricks是什么工作空间实例名例如:1234567890123456.7.gcp.www.neidfyre.com。
https:// < databricks-instance-name >
< databricks-instance-name >
使用与要调用的REST API操作匹配的路径完成请求URL。例如,要列出集群的信息,请使用/ api / 2.0 /集群/。
/ api / 2.0 /集群/
在授权选项卡,在类型列表中,选择不记名的令牌。
为令牌,为您的工作区用户输入Databricks个人访问令牌。
提示
而不是输入你的工作空间实例名例如:1234567890123456.7.gcp.www.neidfyre.com以及您的工作空间用户的Databricks个人访问令牌,您可以定义变量和使用变量而是邮差。
如果你想调用的REST API操作需要请求体,请执行以下操作:
在头选项卡,添加关键和价值一双内容类型以及REST API操作可接受的内容类型。例如,要列出集群的信息,请使用的内容类型为application / json。
内容类型
application / json
在身体选项卡,为REST API操作选择可接受的主体类型。例如,要列出集群的信息,则选择的主体类型生然后JSON。
输入请求正文。例如,要列出指定集群的信息,输入如下命令:
{“cluster_id”:“1234 - 567890 batch123”}
如果您想调用的REST API操作需要任何额外的头,请将它们作为额外的头输入关键和价值对的头选项卡。例如,要列出关于集群的信息,不需要额外的标头。
如果要调用的REST API操作需要任何查询参数,请将它们输入为关键和价值对的参数个数选项卡。例如,要列出关于集群的信息,可以使用键为的查询参数,而不是使用请求体cluster_id和指定集群ID的值,例如1234 - 567890 batch123。
cluster_id
1234 - 567890 batch123
点击发送。任何响应的详细信息都将显示在响应部分的身体选项卡。
打开HTTPie桌面应用,或者去HTTPie网络应用。
在httpie.io /你好方框,先进入https:// < databricks-instance-name >,在那里< databricks-instance-name >你的Databricks是什么工作空间实例名例如:1234567890123456.7.gcp.www.neidfyre.com。
在身份验证选项卡上,单击不记名的令牌。
而不是输入你的工作空间实例名例如:1234567890123456.7.gcp.www.neidfyre.com以及您的工作空间用户的每个调用的Databricks个人访问令牌,您可以定义环境变量(例如DATABRICKS_HOST和DATABRICKS_TOKEN),然后使用这些环境变量(例如{{DATABRICKS_HOST}}和{{DATABRICKS_TOKEN}})替换为HTTPie。看到环境在HTTPie博客上。
DATABRICKS_HOST
DATABRICKS_TOKEN
{{DATABRICKS_HOST}}
{{DATABRICKS_TOKEN}}
在头选项卡,添加名字和价值一双内容类型以及REST API操作可接受的内容类型。例如,要列出集群的信息,请使用的内容类型为application / json。
在身体选项卡,为REST API操作选择可接受的主体类型。例如,要列出集群的信息,则选择的主体类型文本然后JSON。
如果您想调用的REST API操作需要任何额外的头,请将它们作为额外的头输入名字和价值对的头选项卡。例如,要列出关于集群的信息,不需要额外的标头。
如果要调用的REST API操作需要任何查询参数,请将它们输入为名字和价值对的参数个数选项卡。例如,要列出关于集群的信息,可以使用名称为的查询参数,而不是使用请求体cluster_id和指定集群ID的值,例如1234 - 567890 batch123。
点击发送。任何回应的细节将出现在响应选项卡。
此示例使用HTTPie命令行接口以列出指定Databricks群集的信息。本例使用. netrc文件。
https得到1234567890123456.7.gcp.www.neidfyre.com/api/2.0/clusters/getcluster_id=1234567890 - batch123#还是……https1234567890123456.7.gcp.www.neidfyre.com/api/2.0/clusters/getcluster_id= =1234567890 - batch123#在curl中等于jq…# curl——netrc 'https://1234567890123456.7.gcp.www.neidfyre.com/api/2.0/clusters/get' -d '{"cluster_id": "1234-567890-patch123"}' | jq。#还是……# curl——netrc 'https://1234567890123456.7.gcp.www.neidfyre.com/api/2.0/clusters/get?cluster_id=1234-567890-patch123' | jq。
你可以转换旋度到http语法的工具,如CurliPie包在PyPI或者是CurliPie网页应用。
此示例使用Invoke-RestMethodcmdlet在PowerShell以列出指定Databricks群集的信息。
美元的令牌=“dapia1b2345678901c23456defa7bcde8fa9”ConvertedToken美元=美元的令牌|ConvertTo-SecureString-AsPlainTextforceInstanceID美元=“1234567890123456.7.gcp.www.neidfyre.com”APIVersion美元=' / api / 2.0 'APICommand美元=/集群/得到的美元的Uri=“https:// InstanceID APIVersion美元APICommand美元”美元的身体=@ {“cluster_id”=“1234 - 567890 batch123”}美元的反应=Invoke-RestMethod`身份验证持票人`令牌ConvertedToken美元`方法得到`uri美元的Uri`身体美元的身体写输出美元的反应
Cluster_id: 1234-567890-batch123司机:……Spark_context_id: 1234567890123456789…
许多API调用要求您指定砖运行时版本字符串。本节描述了Databricks REST API中版本字符串的结构。
<米> . <F>。x[-cpu] [-esr] [-gpu] [-毫升] [-光子]-scala<scala-版本>
在哪里
米: Databricks Runtime主要版本
米
F: Databricks Runtime特性发布
F
cpu: CPU版本号(带毫升唯一的)
cpu
毫升
esr:扩展支持
esr
gpu:GPU-enabled
gpu
毫升:机器学习
光子:光子
光子
scala版本:用于编译Spark的Scala版本:2.10、2.11或2.12
scala版本
例如:
7.6.x-gpu-ml-scala2.12代表Databricks运行时7.6机器学习,是gpu启用,并使用Scala 2.12版本编译Spark 3.0.1版本
7.6.x-gpu-ml-scala2.12
的支持的Databricks运行时版本和支持时间表和不支持的版本表将Databricks运行时版本映射到运行时中包含的Spark版本。
方法获取可用Databricks运行时版本字符串的列表运行时版本API。