Как использовать Api Azure DataBricks для отправки задания?

#python #bigdata #databricks #azure-databricks #gcp-databricks

Вопрос:

Я новичок в базах данных Azure и хочу использовать API для создания кластера и отправки заданий на python. Я застрял, так как не могу этого сделать. Кроме того, если у меня есть существующий кластер, как будет выглядеть код? Я получил идентификатор задания после запуска этого кода, но не смог увидеть никаких выходных данных.

 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"]))
 

Ответ №1:

Задания в базах данных могут выполняться двумя способами (см. Документы).:

  • на новом кластере — вот как вы это делаете прямо сейчас
  • в существующем кластере — удалите new_cluster блок и добавьте existing_cluster_id поле с идентификатором существующего кластера. Если у вас еще нет кластера, вы можете создать его с помощью Cluster API

Когда вы создаете задание, вы получаете обратно идентификатор задания, который можно использовать для редактирования задания или его удаления. Вы также можете запустить задание с помощью API Run Now. Но если вы просто хотите выполнить задание без создания задания в пользовательском интерфейсе, вам нужно обратиться к API запуска отправки. Любой из API-интерфейсов вернет идентификатор конкретного выполняемого задания, а затем вы можете использовать Run Get API для получения статуса задания или запустить Get Output API для получения результатов выполнения.

Комментарии:

1. Я не могу получить вывод значения pi, хотя я могу видеть его в журналах, можете ли вы помочь мне с этим, если я хочу напечатать значение Pi?

2. вам нужно использовать «Run Get Output API», чтобы получить его