如何使用azure databricks api提交作业?

ztyzrc3y  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(462)

我是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"]))
esbemjvw

esbemjvw1#

databricks上的作业可以通过两种方式执行(参见文档):
在一个新的集群上—这就是您现在所做的
在现有群集上-删除 new_cluster 块,并添加 existing_cluster_id 具有现有群集id的字段。如果您还没有集群,那么可以通过集群api创建它
创建作业时,将返回可用于编辑或删除作业的作业id。您还可以使用RunNow api启动作业。但是如果您只想执行作业而不在ui中创建作业,那么您需要查看RunSubmitAPI。任何一个api都将返回特定作业运行的id,然后您可以使用run get api获取作业的状态,或者运行get output api获取执行结果。

相关问题