Dodawanie zadań do zadań w pakietach zasobów usługi Databricks

Ten artykuł zawiera przykłady różnych typów zadań, które można dodać do zadań usługi Azure Databricks w pakietach zasobów usługi Databricks. Zobacz Co to są pakiety zasobów usługi Databricks?.

Większość typów zadań ma parametry specyficzne dla zadania między obsługiwanymi ustawieniami, ale można również zdefiniować parametry zadania, które są przekazywane do zadań podrzędnych. Odwołania do wartości dynamicznych są obsługiwane dla parametrów zadania, które umożliwiają przekazywanie wartości specyficznych dla zadania podrzędnego. Zobacz Co to jest odwołanie do wartości dynamicznej?.

Uwaga

Możesz zastąpić ustawienia zadania podrzędnego. Zobacz Zastępowanie ustawień zadań podrzędnych w pakietach zasobów usługi Databricks.

Napiwek

Aby szybko wygenerować konfigurację zasobu dla istniejącego zadania przy użyciu interfejsu wiersza polecenia usługi Databricks, możesz użyć bundle generate job polecenia . Zobacz polecenia pakietu.

Zadanie notesu

To zadanie służy do uruchamiania notesu.

Poniższy przykład dodaje zadanie notesu do zadania i ustawia parametr zadania o nazwie my_job_run_id. Ścieżka do wdrożenia notesu jest względna względem pliku konfiguracji, w którym to zadanie jest zadeklarowane. Zadanie pobiera notes z wdrożonej lokalizacji w obszarze roboczym usługi Azure Databricks. (Wielokropek wskazuje pominiętą zawartość dla zwięzłości).

# ...
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}}"
        # ...
# ...

Aby uzyskać dodatkowe mapowania, które można ustawić dla tego zadania, zobacz tasks > notebook_task w ładunku żądania operacji tworzenia zadania zgodnie z definicją w pliku POST /api/2.1/jobs/create w dokumentacji interfejsu API REST wyrażonym w formacie YAML. Zobacz Zadanie notesu dla zadań.

Zadanie skryptu języka Python

To zadanie służy do uruchamiania pliku w języku Python.

Poniższy przykład dodaje zadanie skryptu języka Python do zadania. Ścieżka pliku języka Python do wdrożenia jest względna względem pliku konfiguracji, w którym to zadanie jest zadeklarowane. Zadanie pobiera plik języka Python z wdrożonej lokalizacji w obszarze roboczym usługi Azure Databricks. (Wielokropek wskazuje pominiętą zawartość dla zwięzłości).

# ...
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
          # ...
# ...

Aby uzyskać dodatkowe mapowania, które można ustawić dla tego zadania, zobacz tasks > spark_python_task w ładunku żądania operacji tworzenia zadania zgodnie z definicją w pliku POST /api/2.1/jobs/create w dokumentacji interfejsu API REST wyrażonym w formacie YAML. Zobacz również zadanie skryptu języka Python dla zadań.

Zadanie koła języka Python

To zadanie służy do uruchamiania pliku wheel języka Python.

W poniższym przykładzie do zadania dodano zadanie wheel języka Python. Ścieżka pliku wheel języka Python do wdrożenia jest względna względem pliku konfiguracji, w którym to zadanie jest zadeklarowane. Zobacz Zależności biblioteki pakietów zasobów usługi Databricks. (Wielokropek wskazuje pominiętą zawartość dla zwięzłości).

# ...
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
          # ...
# ...

Aby uzyskać dodatkowe mapowania, które można ustawić dla tego zadania, zobacz tasks > python_wheel_task w ładunku żądania operacji tworzenia zadania zgodnie z definicją w pliku POST /api/2.1/jobs/create w dokumentacji interfejsu API REST wyrażonym w formacie YAML. Zobacz również Artykuł Develop a Python wheel file using Databricks Asset Bundles and Python Wheel task for jobs (Tworzenie pliku wheel języka Python przy użyciu pakietów zasobów usługi Databricks i zadań Python Wheel).

Zadanie JAR

To zadanie służy do uruchamiania pliku JAR. Możesz odwoływać się do lokalnych bibliotek JAR lub tych w obszarze roboczym, woluminie wykazu aparatu Unity lub zewnętrznej lokalizacji magazynu w chmurze. Zobacz Zależności biblioteki pakietów zasobów usługi Databricks.

Poniższy przykład dodaje zadanie JAR do zadania. Ścieżka pliku JAR to określona lokalizacja woluminu. (Wielokropek wskazuje pominiętą zawartość dla zwięzłości).

# ...
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
          # ...
# ...

Aby uzyskać dodatkowe mapowania, które można ustawić dla tego zadania, zobacz tasks > spark_jar_task w ładunku żądania operacji tworzenia zadania zgodnie z definicją w pliku POST /api/2.1/jobs/create w dokumentacji interfejsu API REST wyrażonym w formacie YAML. Zobacz Zadanie JAR dla zadań.

Zadanie pliku SQL

To zadanie służy do uruchamiania pliku SQL znajdującego się w obszarze roboczym lub zdalnym repozytorium Git.

Poniższy przykład dodaje zadanie pliku SQL do zadania. To zadanie pliku SQL używa określonego magazynu SQL Warehouse do uruchomienia określonego pliku SQL. (Wielokropek wskazuje pominiętą zawartość dla zwięzłości).

# ...
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
          # ...
# ...

Aby uzyskać identyfikator usługi SQL Warehouse, otwórz stronę ustawień usługi SQL Warehouse, a następnie skopiuj identyfikator znaleziony w nawiasach po nazwie magazynu w polu Nazwa na karcie Przegląd .

Aby uzyskać dodatkowe mapowania, które można ustawić dla tego zadania, zobacz tasks > sql_task > file w ładunku żądania operacji tworzenia zadania zgodnie z definicją w pliku POST /api/2.1/jobs/create w dokumentacji interfejsu API REST wyrażonym w formacie YAML. Zobacz Zadanie SQL dla zadań.

Zadanie potoku Delta Live Tables

To zadanie służy do uruchamiania potoku Delta Live Tables. Zobacz Co to jest delta live tables?.

W poniższym przykładzie do zadania dodano zadanie potoku Delta Live Tables. To zadanie potoku Delta Live Tables uruchamia określony potok. (Wielokropek wskazuje pominiętą zawartość dla zwięzłości).

# ...
resources:
  jobs:
    my-pipeline-job:
      name: my-pipeline-job
      # ...
      tasks:
        - task_key: my-pipeline-task
          pipeline_task:
            pipeline_id: 11111111-1111-1111-1111-111111111111
          # ...
# ...

Identyfikator potoku można uzyskać, otwierając potok w obszarze roboczym i kopiując wartość Identyfikator potoku na karcie Szczegóły potoku na stronie ustawień potoku.

Aby uzyskać dodatkowe mapowania, które można ustawić dla tego zadania, zobacz tasks > pipeline_task w ładunku żądania operacji tworzenia zadania zgodnie z definicją w pliku POST /api/2.1/jobs/create w dokumentacji interfejsu API REST wyrażonym w formacie YAML. Zobacz Zadanie potoku Delta Live Tables dla zadań.

dbt— zadanie

To zadanie służy do uruchamiania co najmniej jednego polecenia dbt. Zobacz Nawiązywanie połączenia z usługą dbt Cloud.

Poniższy przykład dodaje zadanie dbt do zadania. To zadanie dbt używa określonego magazynu SQL Warehouse do uruchamiania określonych poleceń 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"
          # ...
# ...

Aby uzyskać identyfikator usługi SQL Warehouse, otwórz stronę ustawień usługi SQL Warehouse, a następnie skopiuj identyfikator znaleziony w nawiasach po nazwie magazynu w polu Nazwa na karcie Przegląd .

Aby uzyskać dodatkowe mapowania, które można ustawić dla tego zadania, zobacz tasks > dbt_task w ładunku żądania operacji tworzenia zadania zgodnie z definicją w pliku POST /api/2.1/jobs/create w dokumentacji interfejsu API REST wyrażonym w formacie YAML. Zobacz dbt task for jobs (Zadanie dbt dla zadań).

Pakiety zasobów usługi Databricks zawierają dbt-sql również szablon projektu, który definiuje zadanie z zadaniem dbt, a także profile dbt dla wdrożonych zadań dbt. Aby uzyskać informacje na temat szablonów pakietów zasobów usługi Databricks, zobacz Używanie domyślnego szablonu pakietu.

Uruchamianie zadania

To zadanie służy do uruchamiania innego zadania.

Poniższy przykład zawiera zadanie uruchamiania zadania w drugim zadaniu, które uruchamia pierwsze zadanie.

# ...
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}
  # ...

W tym przykładzie użyto podstawienia w celu pobrania identyfikatora zadania do uruchomienia. Aby uzyskać identyfikator zadania z interfejsu użytkownika, otwórz zadanie w obszarze roboczym i skopiuj identyfikator z wartości Identyfikator zadania na karcie Szczegóły zadania na stronie ustawień zadania.

Aby uzyskać dodatkowe mapowania, które można ustawić dla tego zadania, zobacz tasks > run_job_task w ładunku żądania operacji tworzenia zadania zgodnie z definicją w pliku POST /api/2.1/jobs/create w dokumentacji interfejsu API REST wyrażonym w formacie YAML.