繁体   English   中英

用于执行 Databricks 作业的笔记本

[英]notebook to execute Databricks job

是否有 api 或其他方式以编程方式运行 Databricks 作业。 理想情况下,我们希望从笔记本中调用 Databricks 作业。 以下只是给出当前正在运行的作业 ID,但这不是很有用:

dbutils.notebook.entry_point.getDbutils().notebook().getContext().currentRunId().toString()

要运行数据块作业,您可以使用Jobs API 我有一个名为for_repro的 databricks 作业,我使用 databricks notebook 下面提供的 2 种方式运行该作业。

使用requests库:

  • 您可以通过导航到Settings -> User settings创建访问令牌。 Access token选项卡下,单击生成令牌。
  • 将上面生成的令牌与以下代码一起使用。
import requests
import json

my_json = {"job_id": <your_job-id>}    

auth = {"Authorization": "Bearer <your_access-token>"}

response = requests.post('https://<databricks-instance>/api/2.0/jobs/run-now', json = my_json, headers=auth).json()
print(response)

在此处输入图像描述


  • 上述代码中的<databricks-instance>值可以从您的工作区 URL 中提取。

在此处输入图像描述


使用 %sh 魔法命令脚本:

  • 您还可以在 python 笔记本单元格中使用魔术命令 %sh 来运行数据块作业。
%sh

curl --netrc --request POST --header "Authorization: Bearer <access_token>" \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data '{"job_id": <your job id>}'

在此处输入图像描述

  • 以下是我的工作详情和运行历史供参考。在此处输入图像描述

请参阅此 Microsoft 文档以了解使用Jobs API可以实现的所有其他操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM