Delta Live Tables API指南
Delta Live Tables API允许您创建、编辑、删除、启动和查看有关管道的详细信息。
重要的
要访问Databricks REST api,必须进行身份验证.
创建管道
端点 |
HTTP方法 |
---|---|
|
|
创建一个新的Delta Live Tables管道。
例子
这个例子创建了一个新的触发管道。
请求
—netrc -X POST\https:// < databricks-instance > / api / 2.0 /管道\——数据@pipeline-settings.json
pipeline-settings.json
:
{“名称”:维基百科管道(SQL),“存储”:“/用户/用户名/数据”,“集群”:[{“标签”:“默认”,“自动定量”:{“min_workers”:1,“max_workers”:5,“模式”:“增强”}}],“库”:[{“笔记本”:{“路径”:"/Users/username/DLT notebook /Delta Live Tables quickstart (SQL)"}}],“连续”:假}
替换:
< databricks-instance >
和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com
.
本例使用. netrc文件。
编辑管道
端点 |
HTTP方法 |
---|---|
|
|
更新现有管道的设置。
例子
这个例子添加了目标
参数传递给带有ID的管道a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
:
请求
—netrc -X PUT\https:// < databricks-instance > / api / 2.0 /管道/ a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5\——数据@pipeline-settings.json
pipeline-settings.json
{“id”:“a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5”,“名称”:维基百科管道(SQL),“存储”:“/用户/用户名/数据”,“集群”:[{“标签”:“默认”,“自动定量”:{“min_workers”:1,“max_workers”:5,“模式”:“增强”}}],“库”:[{“笔记本”:{“路径”:"/Users/username/DLT notebook /Delta Live Tables quickstart (SQL)"}}],“目标”:“wikipedia_quickstart_data”,“连续”:假}
替换:
< databricks-instance >
和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com
.
本例使用. netrc文件。
启动管道更新
端点 |
HTTP方法 |
---|---|
|
|
启动管道的更新。您可以开始对整个管道图进行更新,或者对特定表进行选择性更新。
例子
开始完全刷新
这个例子开始对带ID的管道进行完全刷新a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
:
启动所选表的更新
对象的更新sales_orders_cleaned
而且sales_order_in_chicago
表在管道与IDa12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
:
启动所选表的完整更新
的更新sales_orders_cleaned
而且sales_order_in_chicago
表,并更新与完全刷新客户
而且sales_orders_raw
表在管道与IDa12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
.
请求
—netrc -X POST\https:// < databricks-instance > / api / 2.0 /管道/ a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 /更新\——数据'{"refresh_selection": ["sales_orders_cleaned", "sales_order_in_chicago"], "full_refresh_selection": ["customers", "sales_orders_raw"]}'
替换:
< databricks-instance >
和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com
.
本例使用. netrc文件。
请求结构
字段名 |
类型 |
描述 |
---|---|---|
full_refresh |
|
是否重新处理所有数据。如果 该字段可选。 默认值为 返回错误 |
refresh_selection |
的数组 |
要更新的表列表。使用 该字段可选。如果两个 如果出现以下情况,将返回错误:
|
full_refresh_selection |
的数组 |
要用完全刷新更新的表列表。使用 该字段可选。如果两个 如果出现以下情况,将返回错误:
|
获取管道更新请求的状态
端点 |
HTTP方法 |
---|---|
|
|
获取与之关联的管道更新的状态和信息request_id
,在那里request_id
是发起管道更新的请求的唯一标识符。如果更新被重试或重新启动,那么新的更新将继承request_id。
例子
对于具有ID的管道a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
,此示例返回与请求ID关联的更新的状态和信息a83d9f7c d798 - 4 - fd5 aa39 - 301 b6e6f4429
:
请求
—netrc -X GET\https:// < databricks-instance > / api / 2.0 /管道/ a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 /请求/ a83d9f7c d798 - 4 - fd5 aa39 - 301 b6e6f4429
替换:
< databricks-instance >
和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com
.
本例使用. netrc文件。
响应
{“状态”:“终止”,“latest_update”: {“pipeline_id”:“a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5”,“update_id”:“90 da8183 - 89 - de - 4715 - b5a9 c243e67f0093”,“配置”: {“id”:“aae89b88-e97e-40c4-8e1a-1b7ac76657e8”,“名称”:“零售(SQL)”,“存储”:“/用户/用户名/数据”,“配置”: {“pipelines.numStreamRetryAttempts”:“5”},“集群”:[{“标签”:“默认”,“自动定量”: {“min_workers”:1,“max_workers”:5,“模式”:“增强”}}],“库”:[{“笔记本”: {“路径”:"/Users/username/DLT notebook /Delta Live Tables quickstart (SQL)"}}],“连续”:假,“发展”:真正的,“光子”:真正的,“版”:“高级”,“通道”:“当前”},“原因”:“API_CALL”,“状态”:“完成”,“cluster_id”:“1234 - 567891 abcde123”,“creation_time”:1664304117145,“full_refresh”:假,“request_id”:“a83d9f7c d798 - 4 - fd5 aa39 - 301 b6e6f4429”}}
响应结构
字段名 |
类型 |
描述 |
---|---|---|
状态 |
|
管道更新请求的状态。之一
|
pipeline_id |
|
管道的唯一标识符。 |
update_id |
|
更新的唯一标识符。 |
配置 |
管道设置。 |
|
导致 |
|
更新的触发器。之一 |
状态 |
|
更新的状态。之一 |
cluster_id |
|
运行更新的集群标识符。 |
creation_time |
|
创建更新时的时间戳。 |
full_refresh |
|
此更新在运行前是否重置所有表 |
refresh_selection |
的数组 |
要在不完全刷新的情况下更新的表列表。 |
full_refresh_selection |
的数组 |
要用完全刷新更新的表列表。 |
request_id |
|
启动更新的请求的唯一标识符。方法返回的值更新请求。如果更新被重试或重新启动,那么新的更新将继承request_id。然而, |
停止任何活动管道更新
端点 |
HTTP方法 |
---|---|
|
|
停止任何活动管道更新。如果没有更新正在运行,则此请求为无操作。
对于连续管道,管道执行将暂停。当前正在处理的表完成刷新,但下游表没有刷新。在下一次管道更新中,Delta Live Tables对未完成处理的表执行选定的刷新,并恢复对剩余管道DAG的处理。
对于已触发的管道,管道执行将停止。当前正在处理的表完成刷新,但下游表没有刷新。在下一次管道更新中,Delta Live Tables将刷新所有表。
列出管道事件
端点 |
HTTP方法 |
---|---|
|
|
为管道检索事件。
请求结构
字段名 |
类型 |
描述 |
---|---|---|
page_token |
|
由前一次调用返回的页令牌。该字段与此请求中除max_results外的所有字段互斥。如果在设置该字段时设置了max_results以外的任何字段,则返回错误。 该字段可选。 |
max_results |
|
在单个页面中返回的最大条目数。系统可能会返回小于 该字段可选。 缺省值为25。 最大值为100。的值,则返回错误 |
order_by |
|
通过时间戳指示结果排序顺序的字符串,例如, 排序顺序可以是升序或降序。默认情况下,事件按时间戳降序返回。 该字段可选。 |
过滤器 |
|
选择结果子集的标准,使用类似sql的语法表示。支持的过滤器是:
支持复合表达式,例如: 该字段可选。 |
获取管道详细信息
端点 |
HTTP方法 |
---|---|
|
|
获取有关管道的详细信息,包括管道设置和最近更新。
例子
此示例获取带有ID的管道的详细信息a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
:
请求
—netrc -X GET\https:// < databricks-instance > / api / 2.0 /管道/ a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
替换:
< databricks-instance >
和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com
.
本例使用. netrc文件。
响应
{“pipeline_id”:“a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5”,“规范”:{“id”:“a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5”,“名称”:维基百科管道(SQL),“存储”:“/用户/用户名/数据”,“集群”:[{“标签”:“默认”,“自动定量”:{“min_workers”:1,“max_workers”:5,“模式”:“增强”}}],“库”:[{“笔记本”:{“路径”:"/Users/username/DLT notebook /Delta Live Tables quickstart (SQL)"}}],“目标”:“wikipedia_quickstart_data”,“连续”:假},“状态”:“空闲”,“cluster_id”:“1234 - 567891 abcde123”,“名称”:维基百科管道(SQL),“creator_user_name”:“用户名”,“latest_updates”:[{“update_id”:“8 a0b6d02 - fbd0 - 11 - eb - 9 - a03 - 0242 ac130003”,“状态”:“完成”,“creation_time”:“2021 - 08 - 13 - t00:37:30.279z”},{“update_id”:“a72c08ba——fbd0 - 11 - eb - 9 - a03 - 0242 ac130003”,“状态”:“取消”,“creation_time”:“2021 - 08 - 13 - t00:35:51.902z”},{“update_id”:“ac37d924——fbd0 - 11 - eb - 9 - a03 - 0242 ac130003”,“状态”:“失败”,“creation_time”:“2021 - 08 - 13 - t00:33:38.565z”}],“run_as_user_name”:“用户名”}
获取更新详细信息
端点 |
HTTP方法 |
---|---|
|
|
获取管道更新的详细信息。
例子
此示例获取更新的详细信息9 a84f906 - fc51 - 11 - eb - 9 - a03 - 0242 ac130003
为带ID的管道a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5
:
请求
—netrc -X GET\https:// < databricks-instance > / api / 2.0 /管道/ a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 /更新/ 9 a84f906 - fc51 - 11 - eb - 9 - a03 - 0242 ac130003
替换:
< databricks-instance >
和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com
.
本例使用. netrc文件。
响应
{“更新”:{“pipeline_id”:“a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5”,“update_id”:“9 a84f906 - fc51 - 11 - eb - 9 - a03 - 0242 ac130003”,“配置”:{“id”:“a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5”,“名称”:维基百科管道(SQL),“存储”:“/用户/用户名/数据”,“配置”:{“pipelines.numStreamRetryAttempts”:“5”},“集群”:[{“标签”:“默认”,“自动定量”:{“min_workers”:1,“max_workers”:5,“模式”:“增强”}}],“库”:[{“笔记本”:{“路径”:"/Users/username/DLT notebook /Delta Live Tables quickstart (SQL)"}}],“目标”:“wikipedia_quickstart_data”,“连续”:假,“发展”:假},“原因”:“API_CALL”,“状态”:“完成”,“creation_time”:1628815050279,“full_refresh”:真正的,“request_id”:“a83d9f7c d798 - 4 - fd5 aa39 - 301 b6e6f4429”}}
响应结构
字段名 |
类型 |
描述 |
---|---|---|
pipeline_id |
|
管道的唯一标识符。 |
update_id |
|
此更新的唯一标识符。 |
配置 |
管道设置。 |
|
导致 |
|
更新的触发器。之一 |
状态 |
|
更新的状态。之一 |
cluster_id |
|
运行管道的集群的标识符。 |
creation_time |
|
创建更新时的时间戳。 |
full_refresh |
|
这是否是一次全面的刷新。如果为真,则在运行更新之前重置所有管道表。 |
列表管道
端点 |
HTTP方法 |
---|---|
|
|
列出Delta Live Tables系统中定义的管道。
例子
此示例检索名称包含的管道的详细信息快速入门
:
请求
—netrc -X GET\https:// < databricks-instance > / api / 2.0 /管道?过滤器=名字% 20 25快速入门% % 20% 27% 25% 27
替换:
< databricks-instance >
和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com
.
本例使用. netrc文件。
响应
{“状态”:[{“pipeline_id”:“e0f01758——fc61 - 11 - eb - 9 - a03 - 0242 ac130003”,“状态”:“空闲”,“名称”:DLT快速入门(Python),“latest_updates”:[{“update_id”:“ee9ae73e——fc61 - 11 - eb - 9 - a03 - 0242 ac130003”,“状态”:“完成”,“creation_time”:“2021 - 08 - 13 - t00:34:21.871z”}],“creator_user_name”:“用户名”},{“pipeline_id”:“f4c82f5e——fc61 - 11 - eb - 9 - a03 - 0242 ac130003”,“状态”:“空闲”,“名称”:“我的DLT快速入门示例”,“creator_user_name”:“用户名”}],“next_page_token”:“eyJ…= =”,“prev_page_token”:“eyJ . . x9”}
请求结构
字段名 |
类型 |
描述 |
---|---|---|
page_token |
|
由前一次调用返回的页令牌。 该字段可选。 |
max_results |
|
在单个页面中返回的最大条目数。系统可能会返回小于 该字段可选。 缺省值为25。 最大值为100。的值,则返回错误 |
order_by |
的数组 |
指定结果顺序的字符串列表,例如, 该字段可选。 |
过滤器 |
|
根据指定的条件选择结果的子集。 支持的过滤器是:
不支持复合过滤器。 该字段可选。 |
数据结构
本节:
PipelinesAutoScale
定义自动伸缩集群的属性。
字段名 |
类型 |
描述 |
---|---|---|
min_workers |
|
集群在未充分利用时可以缩减到的最小工作者数。它也是集群创建后将拥有的初始工作者数量。 |
max_workers |
|
集群在超载时可以扩展到的最大工作者数。Max_workers必须严格大于min_workers。 |
模式 |
|
集群的自动伸缩模式: |
PipelineLibrary
管道依赖项的规范。
字段名 |
类型 |
描述 |
---|---|---|
笔记本 |
定义Delta Live Tables数据集的笔记本的路径。该路径必须在Databricks工作区中,例如: |
PipelineSettings
管道部署的设置。
字段名 |
类型 |
描述 |
---|---|---|
id |
|
此管道的唯一标识符。 标识符是由Delta Live Tables系统创建的,在创建管道时不能提供。 |
的名字 |
|
此管道的用户友好的名称。 该字段可选。 缺省情况下,管道名称必须唯一。若要使用重复的名称,请设置 |
存储 |
|
DBFS目录的路径,用于存储由管道创建的检查点和表。 该字段可选。 如果该字段为空,系统将使用默认位置。 |
配置 |
地图 |
要添加到将要运行管道的集群的Spark配置中的键值对列表。 该字段可选。 元素必须格式化为键值对。 |
集群 |
用于运行管道的集群的规范数组。 该字段可选。 如果不指定,系统将为管道选择默认集群配置。 |
|
库 |
包含管道代码和运行管道所需的任何依赖项的笔记本。 |
|
目标 |
|
用于持久化管道输出数据的数据库名称。 看到从Delta Live Tables管道发布数据获取更多信息。 |
连续 |
|
这是否是一个连续的管道。 该字段可选。 默认值为 |
发展 |
|
是否在开发模式下运行管道。 该字段可选。 默认值为 |
光子 |
|
是否为该管道启用光子加速。 该字段可选。 默认值为 |
通道 |
|
Delta Live Tables发布通道,指定此管道使用的运行时版本。支持的值为:
该字段可选。 默认值为 |
版 |
|
Delta Live Tables产品版运行管道:
该字段可选。 默认值为 |
PipelineStateInfo
管道的状态、最新更新的状态以及有关关联资源的信息。
字段名 |
类型 |
描述 |
---|---|---|
状态 |
|
管道的状态。之一 |
pipeline_id |
|
管道的唯一标识符。 |
cluster_id |
|
运行管道的集群的唯一标识符。 |
的名字 |
|
管道的用户友好的名称。 |
latest_updates |
管道的最新更新状态,首先以最新更新订购。 |
|
creator_user_name |
|
管道创建者的用户名。 |
run_as_user_name |
|
作为管道运行的用户名。这是一个从管道所有者派生的只读值。 |
PipelinesNewCluster
管道集群规范。
Delta Live Tables系统设置以下属性。用户不能配置以下属性:
spark_version
字段名 |
类型 |
描述 |
---|---|---|
标签 |
|
集群规范的标签 该字段可选。默认值为 |
spark_conf |
一个对象,包含一组可选的、用户指定的Spark配置键值对。您还可以通过将一串额外的JVM选项传递给驱动程序和执行程序 使用实例Spark conf。 |
|
aws_attributes |
与在Amazon Web Services上运行的集群相关的属性。如果在创建集群时未指定,则将使用一组默认值。 |
|
node_type_id |
|
该字段通过单个值编码该集群中每个Spark节点可用的资源。例如,Spark节点可以针对内存或计算密集型工作负载进行配置和优化列表节点类型API调用。 |
driver_node_type_id |
|
Spark驱动的节点类型。该字段是可选的;如果不设置,驱动节点类型将被设置为相同的值 |
ssh_public_keys |
的数组 |
将添加到该集群中每个Spark节点的SSH公钥内容。可以使用对应的私钥以用户名登录 |
custom_tags |
一个对象,包含一组用于集群资源的标记。Databricks除了default_tags外,还使用这些标签标记所有集群资源。 请注意:
|
|
cluster_log_conf |
将Spark日志下发到长期存储目的地的配置。一个集群只能指定一个目标。如果提供了此配置,日志每隔一天就会被发送到目的地 |
|
spark_env_vars |
包含一组用户指定的可选环境变量键值对的对象。表单(X,Y)的键值对按原样导出(即, 以便指定额外的一组 使用实例Spark环境变量。 |
|
init_scripts |
存储init脚本的配置。可以指定任意数量的目的地。脚本按照提供的顺序依次执行。如果 |
|
instance_pool_id |
|
集群所属实例池的可选ID。看到池. |
driver_instance_pool_id |
|
用于驱动程序节点的实例池的可选ID。您还必须指定 |
policy_id |
|
一个集群政策ID。 |
num_workers或自动缩放 |
|
如果是num_workers,表示该集群应该拥有的工作节点的数量。一个集群有一个Spark驱动程序和num_workers执行程序,共num_workers + 1个Spark节点。 当读取集群的属性时,该字段反映所需的worker数量,而不是实际的worker数量。例如,如果集群从5个工作人员调整为10个工作人员,则该字段将更新以反映10个工作人员的目标大小,而在executor中列出的工作人员随着新节点的供应逐渐从5增加到10。 如果是自动伸缩,则需要参数根据负载自动上下伸缩集群。 该字段可选。 |
apply_policy_default_values |
|
是否使用政策缺少集群属性的默认值。 |
UpdateStateInfo
管道更新的当前状态。
字段名 |
类型 |
描述 |
---|---|---|
update_id |
|
此更新的唯一标识符。 |
状态 |
|
更新的状态。之一 |
creation_time |
|
创建此更新的时间戳。 |