如何使用Azure DataBricks Api提交作业



我是Azure Databricks的初学者,我想使用API在python中创建集群并提交作业。我被卡住了,因为我无法做到这一点。此外,如果我有一个现有的集群,代码会是什么样子?运行此代码后,我得到了作业id,但无法看到任何输出。

import requests
DOMAIN = ''
TOKEN = ''
response = requests.post(
'https://%s/api/2.0/jobs/create' % (DOMAIN),
headers={'Authorization': 'Bearer %s' % TOKEN},
json={
"name": "SparkPi spark-submit job",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_DS3_v2",
"num_workers": 2
},
"spark_submit_task": {
"parameters": [
"--class",
"org.apache.spark.examples.SparkPi",
"dbfs:/FileStore/sparkpi_assembly_0_1.jar",
"10"
]
}
}
)
if response.status_code == 200:
print(response.json())
else:
print("Error launching cluster: %s: %s" % (response.json()["error_code"], response.json()["message"]))

Databricks的作业可以通过两种方式执行(请参阅文档(:

  • 在一个新集群上-这就是你现在的做法
  • 在现有集群上-删除new_cluster块,并添加具有现有集群ID的existing_cluster_id字段。如果您还没有集群,那么您可以通过cluster API创建它

创建作业时,将返回可用于编辑或删除作业的作业ID。您还可以使用Run Now API启动作业。但是,如果您只想在不在UI中创建作业的情况下执行作业,那么您需要查看Run-Submit API。任何一个API都将返回特定作业运行的ID,然后您可以使用run Get API获取作业的状态,或者使用run Get Output API获取执行结果。

最新更新