Automatizace vytváření a správy úloh
V tomto článku se dozvíte, jak začít s vývojářskými nástroji automatizovat vytváření a správu úloh. Seznámí vás s rozhraním příkazového řádku Databricks, sadami SDK Databricks a rozhraním REST API.
Poznámka
Tento článek obsahuje příklady pro vytváření a správu úloh pomocí rozhraní příkazového řádku Databricks, sady Databricks Python SDK a rozhraní REST API jako snadného úvodu k těmto nástrojům. Pokud chcete úlohy spravovat prostřednictvím kódu programu jako součást CI/CD, použijte sady prostředků Databricks (DABs) nebo poskytovatele Databricks Terraformu.
Porovnání nástrojů
Následující tabulka porovnává rozhraní příkazového řádku Databricks, sady SDK Databricks a rozhraní REST API pro programové vytváření a správu úloh. Další informace o všech dostupných vývojářských nástrojích najdete v tématu místní vývojové nástroje.
Nástroj | Popis |
---|---|
rozhraní příkazového řádku Databricks | Získejte přístup k funkcím Databricks pomocí příkazového řádku Databricks (CLI), který obaluje rozhraní REST API. Použití rozhraní příkazového řádku pro jednorázové úlohy, jako jsou experimentování, skriptování prostředí a přímé vyvolání rozhraní REST API |
Databricks SDKs | Vyvíjejte aplikace a vytvářejte vlastní pracovní postupy Databricks pomocí sady Databricks SDK, která je k dispozici pro Python, Javu, Go nebo R. Místo přímého odesílání volání rozhraní REST API pomocí nástroje curl nebo Postman můžete k interakci s Databricks použít sadu SDK. |
rozhraní REST API Databricks | Pokud pro váš konkrétní případ použití nefunguje žádná z výše uvedených možností, můžete přímo použít rozhraní REST API Databricks. Rozhraní REST API použijte přímo pro případy použití, jako je automatizace procesů, kdy sada SDK v preferovaném programovacím jazyce není aktuálně dostupná. |
Začínáme s rozhraním příkazového řádku Databricks
Informace o instalaci a konfiguraci ověřování pro rozhraní příkazového řádku Databricks najdete v tématu Instalace nebo aktualizace rozhraní příkazového řádku Databricks a ověřování pro rozhraní příkazového řádku Databricks.
Rozhraní příkazového řádku Databricks obsahuje skupiny příkazů pro funkce Databricks, včetně jedné pro úlohy, které obsahují sadu souvisejících příkazů, které můžou také obsahovat dílčí příkazy. Skupina příkazů jobs
umožňuje spravovat úlohy a spouštění úloh pomocí akcí, jako jsou create
, delete
a get
. Protože CLI využívá Databricks REST API, většina jeho příkazů je mapována na požadavky tohoto API. Například databricks jobs get
mapuje na GET/api/2.2/jobs/get
.
Pokud chcete zobrazit podrobnější informace o využití a syntaxi pro skupinu příkazů úloh, jednotlivé příkazy nebo podpříkazy, použijte příznak h
:
databricks jobs -h
databricks jobs <command-name> -h
databricks jobs <command-name> <subcommand-name> -h
Příklad: Načtení úlohy Databricks pomocí rozhraní příkazového řádku
Pokud chcete vytisknout informace o jednotlivých úlohách v pracovním prostoru, spusťte následující příkaz:
$ databricks jobs get <job-id>
databricks jobs get 478701692316314
Tento příkaz vrátí JSON:
{
"created_time":1730983530082,
"creator_user_name":"someone@example.com",
"job_id":478701692316314,
"run_as_user_name":"someone@example.com",
"settings": {
"email_notifications": {
"no_alert_for_skipped_runs":false
},
"format":"MULTI_TASK",
"max_concurrent_runs":1,
"name":"job_name",
"tasks": [
{
"email_notifications": {},
"notebook_task": {
"notebook_path":"/Workspace/Users/someone@example.com/directory",
"source":"WORKSPACE"
},
"run_if":"ALL_SUCCESS",
"task_key":"success",
"timeout_seconds":0,
"webhook_notifications": {}
},
{
"depends_on": [
{
"task_key":"success"
}
],
"disable_auto_optimization":true,
"email_notifications": {},
"max_retries":3,
"min_retry_interval_millis":300000,
"notebook_task": {
"notebook_path":"/Workspace/Users/someone@example.com/directory",
"source":"WORKSPACE"
},
"retry_on_timeout":false,
"run_if":"ALL_SUCCESS",
"task_key":"fail",
"timeout_seconds":0,
"webhook_notifications": {}
}
],
"timeout_seconds":0,
"webhook_notifications": {}
}
}
Příklad: Vytvoření úlohy Databricks pomocí rozhraní příkazového řádku
Následující příklad používá rozhraní příkazového řádku Databricks k vytvoření úlohy Databricks. Tato úloha obsahuje jediný úkol, který spouští zadaný poznámkový blok. Tento poznámkový blok je závislý na konkrétní verzi balíčku wheel
PyPI. Pro spuštění této úlohy úloha dočasně vytvoří cluster, který exportuje proměnnou prostředí s názvem PYSPARK_PYTHON
. Po spuštění úlohy se cluster ukončí.
Zkopírujte a vložte následující JSON do souboru. K formátu JSON libovolné existující úlohy se dostanete tak, že v uživatelském rozhraní stránky úlohy vyberete možnost Zobrazit json.
{ "name": "My hello notebook job", "tasks": [ { "task_key": "my_hello_notebook_task", "notebook_task": { "notebook_path": "/Workspace/Users/someone@example.com/hello", "source": "WORKSPACE" } } ] }
Spusťte následující příkaz a nahraďte
<file-path>
cestou a názvem souboru, který jste právě vytvořili.databricks jobs create --json @<file-path>
Začínáme se sadou nástrojů Databricks SDK
Databricks poskytuje sady SDK, které umožňují automatizovat operace pomocí oblíbených programovacích jazyků, jako jsou Python, Java a Go. V této části se dozvíte, jak začít používat sadu Python SDK k vytváření a správě úloh Databricks.
Databricks SDK můžete použít pro Databricks notebook nebo pro místní vývojový počítač. Pokud používáte místní vývojový počítač, ujistěte se, že jste nejprve dokončili Začínáme se sadou Databricks SDK pro Python.
Poznámka
Pokud vyvíjíte z poznámkového bloku Databricks a používáte cluster, který používá Databricks Runtime 12.2 LTS a níže, musíte nejprve nainstalovat sadu Databricks SDK pro Python. Viz Instalace nebo upgrade nástroje Databricks SDK pro Python.
Příklad: Vytvoření úlohy Databricks pomocí sady Python SDK
Následující příklad kódu poznámkového bloku vytvoří úlohu Databricks, která spustí existující poznámkový blok. Načte cestu existujícího poznámkového bloku a související nastavení úlohy s výzvami.
Nejprve se ujistěte, že je nainstalovaná správná verze sady SDK:
%pip install --upgrade databricks-sdk==0.40.0
%restart_python
Chcete-li vytvořit úlohu v poznámkovém bloku, spusťte následující příkaz a zodpovězte otázky:
from databricks.sdk.service.jobs import JobSettings as Job
from databricks.sdk import WorkspaceClient
job_name = input("Provide a short name for the job, for example, my-job: ")
notebook_path = input("Provide the workspace path of the notebook to run, for example, /Users/someone@example.com/my-notebook: ")
task_key = input("Provide a unique key to apply to the job's tasks, for example, my-key: ")
test_sdk = Job.from_dict(
{
"name": job_name ,
"tasks": [
{
"task_key": task_key,
"notebook_task": {
"notebook_path": notebook_path,
"source": "WORKSPACE",
},
},
],
}
)
w = WorkspaceClient()
j = w.jobs.create(**test_sdk.as_shallow_dict())
print(f"View the job at {w.config.host}/#job/{j.job_id}\n")
Začínáme s rozhraním Databricks REST API
Poznámka
Databricks doporučuje používat Databricks CLI a Databricks SDK, pokud nepoužíváte programovací jazyk, který nemá odpovídající Databricks SDK.
Následující příklad odešle do rozhraní REST API Databricks požadavek na načtení podrobností pro jednu úlohu. Předpokládá se, že proměnné prostředí DATABRICKS_HOST
a DATABRICKS_TOKEN
byly nastaveny, jak je popsáno v části Provedení ověřování pomocí osobního přístupového tokenu Azure Databricks.
$ curl --request GET "https://${DATABRICKS_HOST}/api/2.2/jobs/get" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" \
--data '{ "job": "11223344" }'
Informace o použití rozhraní DATAbricks REST API najdete v referenční dokumentaci k rozhraní REST API služby Databricks.
Odklidit
Pokud chcete odstranit právě vytvořené úlohy, spusťte databricks jobs delete <job-id>
z rozhraní příkazového řádku Databricks nebo odstraňte úlohu přímo z uživatelského rozhraní pracovního prostoru Databricks.
Další kroky
- Další informace o rozhraní příkazového řádku Databricks najdete v tématu Co je rozhraní příkazového řádku Databricks? a příkazy rozhraní příkazového řádku Databricks, abyste se dozvěděli o dalších skupinách příkazů.
- Další informace o Databricks SDK najdete v části Jak používat SDK s Azure Databricks.
- Další informace o CI/CD s využitím Databricks viz balíčky prostředků Databricks, poskytovatel Terraformu pro Databricks a Terraform CDKTF pro Databricks.
- Úplný přehled všech vývojářských nástrojů najdete v tématu Místní vývojové nástroje.