Partilhar via


Adicionar tarefas a trabalhos no Databricks Asset Bundles

Este artigo fornece exemplos de vários tipos de tarefas que você pode adicionar aos trabalhos do Azure Databricks no Databricks Asset Bundles. Consulte O que são Databricks Asset Bundles?.

A maioria dos tipos de tarefas de trabalho tem parâmetros específicos de tarefas entre suas configurações suportadas, mas você também pode definir parâmetros de trabalho que são passados para tarefas. As referências de valor dinâmico são suportadas para parâmetros de trabalho, que permitem a passagem de valores específicos para o trabalho executado entre tarefas. Consulte Passar contexto sobre tarefas de trabalho em tarefas de trabalho.

Nota

Você pode substituir as configurações de tarefas de trabalho. Consulte Substituir configurações de tarefas de trabalho em Databricks Asset Bundles.

Gorjeta

Para gerar rapidamente a configuração de recursos para um trabalho existente usando a CLI do Databricks, você pode usar o bundle generate job comando. Consulte os comandos do pacote.

Tarefa do bloco de notas

Use essa tarefa para executar um bloco de anotações.

O exemplo a seguir adiciona uma tarefa de bloco de anotações a um trabalho e define um parâmetro de trabalho chamado my_job_run_id. O caminho para a implantação do bloco de anotações é relativo ao arquivo de configuração no qual essa tarefa é declarada. A tarefa obtém o bloco de anotações de seu local implantado no espaço de trabalho do Azure Databricks. (As elipses indicam conteúdo omitido, por uma questão de brevidade.)

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

Para obter mapeamentos adicionais que você pode definir para esta tarefa, consulte tasks > notebook_task a carga útil de solicitação da operação de criação de trabalho, conforme definido em POST /api/2.1/jobs/create na referência da API REST, expressa no formato YAML. Consulte também "Bloco de Anotações" em Opções de tipo de tarefa e Passar parâmetros para uma tarefa de trabalho do Azure Databricks.

Tarefa de script Python

Use esta tarefa para executar um arquivo Python.

O exemplo a seguir adiciona uma tarefa de script Python a um trabalho. O caminho para o arquivo Python ser implantado é relativo ao arquivo de configuração no qual essa tarefa é declarada. A tarefa obtém o arquivo Python de seu local implantado no espaço de trabalho do Azure Databricks. (As elipses indicam conteúdo omitido, por uma questão de brevidade.)

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

Para obter mapeamentos adicionais que você pode definir para esta tarefa, consulte tasks > spark_python_task a carga útil de solicitação da operação de criação de trabalho, conforme definido em POST /api/2.1/jobs/create na referência da API REST, expressa no formato YAML. Consulte também "Script Python" em Opções de tipo de tarefa e Passar parâmetros para uma tarefa de trabalho do Azure Databricks.

Tarefa de roda Python

Use essa tarefa para executar um arquivo de roda do Python.

O exemplo a seguir adiciona uma tarefa de roda Python a um trabalho. O caminho para o arquivo de roda Python a ser implantado é relativo ao arquivo de configuração no qual essa tarefa é declarada. Consulte Dependências da biblioteca Databricks Asset Bundles. (As elipses indicam conteúdo omitido, por uma questão de brevidade.)

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

Para obter mapeamentos adicionais que você pode definir para esta tarefa, consulte tasks > python_wheel_task a carga útil de solicitação da operação de criação de trabalho, conforme definido em POST /api/2.1/jobs/create na referência da API REST, expressa no formato YAML. Consulte também Desenvolver um arquivo de roda Python usando Databricks Asset Bundles e "Roda Python" em Opções de tipo de tarefa e Passar parâmetros para uma tarefa de trabalho do Azure Databricks.

Tarefa JAR

Use essa tarefa para executar um JAR. Você pode fazer referência a bibliotecas JAR locais ou em um espaço de trabalho, um volume do Catálogo Unity ou um local de armazenamento externo na nuvem. Consulte Dependências da biblioteca Databricks Asset Bundles.

O exemplo a seguir adiciona uma tarefa JAR a um trabalho. O caminho para o JAR é para o local do volume especificado. (As elipses indicam conteúdo omitido, por uma questão de brevidade.)

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

Para obter mapeamentos adicionais que você pode definir para esta tarefa, consulte tasks > spark_jar_task a carga útil de solicitação da operação de criação de trabalho, conforme definido em POST /api/2.1/jobs/create na referência da API REST, expressa no formato YAML. Consulte também "JAR" em Opções de tipo de tarefa e Passar parâmetros para uma tarefa de trabalho do Azure Databricks.

Tarefa de arquivo SQL

Use essa tarefa para executar um arquivo SQL localizado em um espaço de trabalho ou em um repositório Git remoto.

O exemplo a seguir adiciona uma tarefa de arquivo SQL a um trabalho. Esta tarefa de arquivo SQL usa o SQL warehouse especificado para executar o arquivo SQL especificado. (As elipses indicam conteúdo omitido, por uma questão de brevidade.)

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

Para obter a ID de um armazém SQL, abra a página de definições do armazém SQL e, em seguida, copie o ID encontrado entre parênteses após o nome do armazém no campo Nome no separador Descrição Geral .

Para obter mapeamentos adicionais que você pode definir para esta tarefa, consulte tasks > sql_task > file a carga útil de solicitação da operação de criação de trabalho, conforme definido em POST /api/2.1/jobs/create na referência da API REST, expressa no formato YAML. Consulte também "SQL: File" em Opções de tipo de tarefa.

Tarefa de pipeline Delta Live Tables

Use essa tarefa para executar um pipeline Delta Live Tables. Consulte O que é Delta Live Tables?.

O exemplo a seguir adiciona uma tarefa de pipeline Delta Live Tables a um trabalho. Esta tarefa de pipeline Delta Live Tables executa o pipeline especificado. (As elipses indicam conteúdo omitido, por uma questão de brevidade.)

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

Você pode obter a ID de um pipeline abrindo o pipeline no espaço de trabalho e copiando o valor do Pipeline ID na guia Detalhes do pipeline da página de configurações do pipeline.

Para obter mapeamentos adicionais que você pode definir para esta tarefa, consulte tasks > pipeline_task a carga útil de solicitação da operação de criação de trabalho, conforme definido em POST /api/2.1/jobs/create na referência da API REST, expressa no formato YAML. Consulte também "Delta Live Tables Pipeline" em Opções de tipo de tarefa.

Tarefa DBT

Use essa tarefa para executar um ou mais comandos dbt. Consulte Conectar-se ao dbt Cloud.

O exemplo a seguir adiciona uma tarefa dbt a um trabalho. Esta tarefa dbt usa o SQL warehouse especificado para executar os comandos dbt especificados. (As elipses indicam conteúdo omitido, por uma questão de brevidade.)

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

Para obter a ID de um armazém SQL, abra a página de definições do armazém SQL e, em seguida, copie o ID encontrado entre parênteses após o nome do armazém no campo Nome no separador Descrição Geral .

Para obter mapeamentos adicionais que você pode definir para esta tarefa, consulte tasks > dbt_task a carga útil de solicitação da operação de criação de trabalho, conforme definido em POST /api/2.1/jobs/create na referência da API REST, expressa no formato YAML. Consulte também "dbt" em Opções de tipo de tarefa.

Executar tarefa de trabalho

Use essa tarefa para executar outro trabalho.

O exemplo a seguir contém uma tarefa de trabalho de execução no segundo trabalho que executa o primeiro trabalho.

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

Este exemplo usa uma substituição para recuperar a ID do trabalho a ser executado. Para obter a ID de um trabalho da interface do usuário, abra-o no espaço de trabalho e copie-o do valor ID do trabalho na guia Detalhes do trabalho da página de configurações do trabalho.

Para obter mapeamentos adicionais que você pode definir para esta tarefa, consulte tasks > run_job_task a carga útil de solicitação da operação de criação de trabalho, conforme definido em POST /api/2.1/jobs/create na referência da API REST, expressa no formato YAML.