Sdílet prostřednictvím


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.