Přidání úkolů do úloh v balíčcích prostředků Databricks
Tento článek obsahuje příklady různých typů úloh, které můžete přidat do úloh Azure Databricks v sadách prostředků Databricks. Podívejte se, co jsou sady prostředků Databricks?
Většina typů úloh má mezi podporovanými nastaveními parametry specifické pro úkoly, ale můžete také definovat parametry úlohy, které se předávají úkolům. Dynamické odkazy na hodnoty jsou podporovány pro parametry úlohy, které umožňují předávání hodnot specifických pro spuštění úlohy mezi úkoly. Podívejte se, co je odkaz na dynamickou hodnotu?
Poznámka:
Nastavení úloh můžete přepsat. Viz Přepsání nastavení úloh v sadě prostředků Databricks.
Tip
Pokud chcete rychle vygenerovat konfiguraci prostředků pro existující úlohu pomocí rozhraní příkazového řádku Databricks, můžete použít bundle generate job
tento příkaz. Viz příkazy sady.
Úkol poznámkového bloku
Tuto úlohu použijete ke spuštění poznámkového bloku.
Následující příklad přidá úkol poznámkového bloku do úlohy a nastaví parametr úlohy s názvem my_job_run_id
. Cesta k nasazení poznámkového bloku je relativní vzhledem ke konfiguračnímu souboru, ve kterém je tato úloha deklarována. Úloha získá poznámkový blok z jeho nasazeného umístění v pracovním prostoru Azure Databricks. (Tři tečky označují vynechaný obsah, pro stručnost.)
# ...
resources:
jobs:
my-notebook-job:
name: my-notebook-job
# ...
tasks:
- task_key: my-notebook-task
notebook_task:
notebook_path: ./my-notebook.ipynb
parameters:
- name: my_job_run_id
default: "{{job.run_id}}"
# ...
# ...
Další mapování, která můžete pro tuto úlohu nastavit, najdete tasks > notebook_task
v datové části požadavku operace vytvoření, jak je definováno v post /api/2.1/jobs/create v odkazu na rozhraní REST API vyjádřeném ve formátu YAML. Viz úkol poznámkového bloku pro úlohy.
Úloha skriptu Pythonu
Tuto úlohu použijete ke spuštění souboru Pythonu.
Následující příklad přidá úlohu skriptu Pythonu do úlohy. Cesta k souboru Pythonu, který se má nasadit, je relativní vzhledem ke konfiguračnímu souboru, ve kterém je tato úloha deklarována. Úloha získá soubor Pythonu z nasazeného umístění v pracovním prostoru Azure Databricks. (Tři tečky označují vynechaný obsah, pro stručnost.)
# ...
resources:
jobs:
my-python-script-job:
name: my-python-script-job
# ...
tasks:
- task_key: my-python-script-task
spark_python_task:
python_file: ./my-script.py
# ...
# ...
Další mapování, která můžete pro tuto úlohu nastavit, najdete tasks > spark_python_task
v datové části požadavku operace vytvoření, jak je definováno v post /api/2.1/jobs/create v odkazu na rozhraní REST API vyjádřeném ve formátu YAML. Viz také úloha skriptu Pythonu pro úlohy.
Úloha kolečka Pythonu
Tuto úlohu použijete ke spuštění souboru kola Pythonu.
Následující příklad přidá úlohu kolečka Pythonu do úlohy. Cesta k souboru kola Pythonu, který se má nasadit, je relativní vzhledem ke konfiguračnímu souboru, ve kterém je tato úloha deklarována. Viz závislosti knihovny sad prostředků Databricks. (Tři tečky označují vynechaný obsah, pro stručnost.)
# ...
resources:
jobs:
my-python-wheel-job:
name: my-python-wheel-job
# ...
tasks:
- task_key: my-python-wheel-task
python_wheel_task:
entry_point: run
package_name: my_package
libraries:
- whl: ./my_package/dist/my_package-*.whl
# ...
# ...
Další mapování, která můžete pro tuto úlohu nastavit, najdete tasks > python_wheel_task
v datové části požadavku operace vytvoření, jak je definováno v post /api/2.1/jobs/create v odkazu na rozhraní REST API vyjádřeném ve formátu YAML. Viz také Vývoj souboru kola Pythonu pomocí sad prostředků Databricks a úlohy Python Wheel pro úlohy.
Jar – úloha
Tuto úlohu použijete ke spuštění souboru JAR. Můžete odkazovat na místní knihovny JAR nebo knihovny v pracovním prostoru, na svazek katalogu Unity nebo na umístění externího cloudového úložiště. Viz závislosti knihovny sad prostředků Databricks.
Následující příklad přidá úkol JAR do úlohy. Cesta pro soubor JAR se nachází v zadaném umístění svazku. (Tři tečky označují vynechaný obsah, pro stručnost.)
# ...
resources:
jobs:
my-jar-job:
name: my-jar-job
# ...
tasks:
- task_key: my-jar-task
spark_jar_task:
main_class_name: org.example.com.Main
libraries:
- jar: /Volumes/main/default/my-volume/my-project-0.1.0-SNAPSHOT.jar
# ...
# ...
Další mapování, která můžete pro tuto úlohu nastavit, najdete tasks > spark_jar_task
v datové části požadavku operace vytvoření, jak je definováno v post /api/2.1/jobs/create v odkazu na rozhraní REST API vyjádřeném ve formátu YAML. Viz úkol JAR pro úlohy.
Úloha souboru SQL
Tuto úlohu použijete ke spuštění souboru SQL umístěného v pracovním prostoru nebo vzdáleném úložišti Git.
Následující příklad přidá úlohu souboru SQL do úlohy. Tato úloha souboru SQL používá zadaný SQL Warehouse ke spuštění zadaného souboru SQL. (Tři tečky označují vynechaný obsah, pro stručnost.)
# ...
resources:
jobs:
my-sql-file-job:
name: my-sql-file-job
# ...
tasks:
- task_key: my-sql-file-task
sql_task:
file:
path: /Users/someone@example.com/hello-world.sql
source: WORKSPACE
warehouse_id: 1a111111a1111aa1
# ...
# ...
Pokud chcete získat ID SQL Warehouse, otevřete stránku nastavení SQL Warehouse a potom zkopírujte ID nalezené v závorkách za názvem skladu v poli Název na kartě Přehled .
Další mapování, která můžete pro tuto úlohu nastavit, najdete tasks > sql_task > file
v datové části požadavku operace vytvoření, jak je definováno v post /api/2.1/jobs/create v odkazu na rozhraní REST API vyjádřeném ve formátu YAML. Viz úloha SQL pro úlohy.
Úloha kanálu Delta Live Tables
Tuto úlohu použijete ke spuštění kanálu Delta Live Tables. Podívejte se, co jsou dynamické tabulky Delta?
Následující příklad přidá do úlohy úlohu kanálu Delta Live Tables. Tato úloha kanálu Delta Live Tables spouští zadaný kanál. (Tři tečky označují vynechaný obsah, pro stručnost.)
# ...
resources:
jobs:
my-pipeline-job:
name: my-pipeline-job
# ...
tasks:
- task_key: my-pipeline-task
pipeline_task:
pipeline_id: 11111111-1111-1111-1111-111111111111
# ...
# ...
ID kanálu můžete získat tak, že kanál otevřete v pracovním prostoru a zkopírujete hodnotu ID kanálu na kartě Podrobnosti kanálu na stránce nastavení kanálu.
Další mapování, která můžete pro tuto úlohu nastavit, najdete tasks > pipeline_task
v datové části požadavku operace vytvoření, jak je definováno v post /api/2.1/jobs/create v odkazu na rozhraní REST API vyjádřeném ve formátu YAML. Viz úloha kanálu Delta Live Tables pro úlohy.
dbt – úloha
Tuto úlohu použijete ke spuštění jednoho nebo více příkazů dbt. Viz Připojení ke službě dbt Cloud.
Následující příklad přidá úkol dbt do úlohy. Tato úloha dbt používá zadaný SQL Warehouse ke spuštění zadaných příkazů dbt.
# ...
resources:
jobs:
my-dbt-job:
name: my-dbt-job
# ...
tasks:
- task_key: my-dbt-task
dbt_task:
commands:
- "dbt deps"
- "dbt seed"
- "dbt run"
project_directory: /Users/someone@example.com/Testing
warehouse_id: 1a111111a1111aa1
libraries:
- pypi:
package: "dbt-databricks>=1.0.0,<2.0.0"
# ...
# ...
Pokud chcete získat ID SQL Warehouse, otevřete stránku nastavení SQL Warehouse a potom zkopírujte ID nalezené v závorkách za názvem skladu v poli Název na kartě Přehled .
Další mapování, která můžete pro tuto úlohu nastavit, najdete tasks > dbt_task
v datové části požadavku operace vytvoření, jak je definováno v post /api/2.1/jobs/create v odkazu na rozhraní REST API vyjádřeném ve formátu YAML. Viz úloha dbt pro úlohy.
Sady prostředků Databricks také obsahují dbt-sql
šablonu projektu, která definuje úlohu s úkolem dbt a také profily dbt pro nasazené úlohy dbt. Informace o šablonách sad prostředků Databricks najdete v tématu Použití výchozí šablony sady prostředků.
Spustit úlohu úlohy
Tuto úlohu použijete ke spuštění jiné úlohy.
Následující příklad obsahuje úlohu spuštění úlohy ve druhé úloze, která spouští první úlohu.
# ...
resources:
jobs:
my-first-job:
name: my-first-job
tasks:
- task_key: my-first-job-task
new_cluster:
spark_version: "13.3.x-scala2.12"
node_type_id: "i3.xlarge"
num_workers: 2
notebook_task:
notebook_path: ./src/test.py
my_second_job:
name: my-second-job
tasks:
- task_key: my-second-job-task
run_job_task:
job_id: ${resources.jobs.my-first-job.id}
# ...
Tento příklad používá náhradu k načtení ID úlohy ke spuštění. Pokud chcete získat ID úlohy z uživatelského rozhraní, otevřete úlohu v pracovním prostoru a zkopírujte ID z hodnoty ID úlohy na kartě Podrobnosti úlohy na stránce nastavení úloh.
Další mapování, která můžete pro tuto úlohu nastavit, najdete tasks > run_job_task
v datové části požadavku operace vytvoření, jak je definováno v post /api/2.1/jobs/create v odkazu na rozhraní REST API vyjádřeném ve formátu YAML.