#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», чтобы получить его