3

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

1 回答 1

2

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

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

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

于 2021-07-08T10:40:12.120 回答