Adicionar tarefa ao trabalho em Databricks ativo Bundles

Este artigo fornece exemplos de vários tipos de tarefas que o senhor pode adicionar ao Databricks Job em Databricks ativo Bundles. Consulte O que são pacotes ativos da Databricks?

A maioria dos tipos de tarefa Job tem parâmetros específicos de tarefa entre suas configurações compatíveis, mas o senhor também pode definir parâmetrosJob que são passados para a tarefa. Há suporte para referências de valores dinâmicos para os parâmetros Job, o que permite passar valores específicos para a execução Job entre as tarefas. Veja o contexto do Pass sobre Job execução em Job tarefa.

Observação

O senhor pode substituir as configurações da Job tarefa. Consulte Substituir as configurações de Job tarefa em Databricks ativo Bundles.

Dica

Para gerar rapidamente a configuração de recurso para um Job existente usando a CLI da Databricks, o senhor pode usar o comando bundle generate job. Ver comando de pacote.

Tarefa Notebook

Você usa esta tarefa para executar um Notebook.

O exemplo a seguir adiciona uma tarefa Notebook a um Job e define um parâmetro Job chamado my_job_run_id. O caminho para o Notebook a ser implantado é relativo ao arquivo databricks.yml no qual essa tarefa é declarada. A tarefa recebe o Notebook de seu local implantado no Databricks workspace. (As elipses indicam conteúdo omitido, para fins de concisão).

# ...
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 mapeamentos adicionais que podem ser configurados para esta tarefa, consulte tasks > notebook_task na carga útil da solicitação de criação de operações Job , conforme definido em POST /api/2.1/Job/create na referência da API REST, expressa no formato YAML. Consulte também “Notebook” em Opções de tipo de tarefa e Passar parâmetros para uma tarefa Job do Databricks.

Tarefa de script Python

Você usa esta tarefa para executar um arquivo Python.

O exemplo a seguir adiciona uma tarefa de script Python a um Job. O caminho do arquivo Python a ser implantado é relativo ao arquivo databricks.yml no qual esta tarefa está declarada. A tarefa obtém o arquivo Python de seu local implantado no workspace do Databricks. (As reticências indicam conteúdo omitido, por questões 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 mapeamentos adicionais que podem ser configurados para esta tarefa, consulte tasks > spark_python_task na carga útil da solicitação de criação de operações Job , conforme definido em POST /api/2.1/Job/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 Job do Databricks.

Tarefa Python wheel

O senhor usa essa tarefa para executar um arquivo Python wheel.

O exemplo a seguir adiciona uma tarefa Python wheel a um Job. O caminho para o arquivo Python wheel a ser implantado é relativo ao arquivo databricks.yml no qual essa tarefa é declarada. (As elipses indicam conteúdo omitido, para fins de concisão).

# ...
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 mapeamentos adicionais que o senhor pode definir para essa tarefa, consulte tasks > python_wheel_task no payload da solicitação create Job operações, conforme definido em POST /api/2.1/Job/create na referência REST API , expresso no formato YAML. Consulte também Develop a Python wheel file using Databricks ativo Bundles e "Python wheel" in tarefa type options e Pass parameters to a Databricks Job tarefa.

Tarefa JAR

O senhor usa essa tarefa para executar um JAR. O senhor pode fazer referência a uma biblioteca JAR local ou a uma biblioteca em workspace, a um volume do Unity Catalog ou a um local de armazenamento em nuvem externo.

O exemplo a seguir adiciona uma tarefa JAR a um Job. O caminho para o JAR é para o local do volume especificado. (As reticências indicam conteúdo omitido, por questões 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 mapeamentos adicionais que podem ser configurados para esta tarefa, consulte tasks > spark_jar_task na carga útil da solicitação de criação de operações Job , conforme definido em POST /api/2.1/Job/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 Job do Databricks.

Tarefa do arquivo SQL

O senhor usa essa tarefa para executar um arquivo SQL localizado em um workspace ou em um repositório Git remoto.

O exemplo a seguir adiciona uma tarefa de arquivo SQL a um site Job. Essa tarefa de arquivo SQL usa o endereço SQL warehouse especificado para executar o arquivo SQL especificado. (As elipses indicam conteúdo omitido, para fins de concisão).

# ...
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 o ID do SQL warehouse, abra a página de configurações do SQL warehousee copie o ID encontrado entre parênteses após o nome do depósito no campo Name (Nome ) na Visão Geral do tab.

Para obter mapeamentos adicionais que o senhor pode definir para essa tarefa, consulte tasks > sql_task > file no payload da solicitação create Job operações, conforme definido em POST /api/2.1/Job/create na referência da API REST, expresso no formato YAML. Consulte também "SQL: Arquivo" em Opções de tipo de tarefa.

Tarefa do pipeline Delta Live Tables

Você usa esta tarefa para executar um pipeline Delta Live Tables. Consulte O que são Delta Live Tables?.

O exemplo a seguir adiciona uma tarefa de pipeline Delta Live Tables a um Job. Esta tarefa de pipeline do Delta Live Tables executa o pipeline especificado. (As reticências indicam conteúdo omitido, por questões 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
          # ...
# ...

O senhor pode obter o ID de um pipeline abrindo o pipeline no workspace e copiando o valor do ID dopipeline no pipeline details tab da página de configurações do pipeline.

Para obter mapeamentos adicionais que o senhor pode definir para essa tarefa, consulte tasks > pipeline_task no payload da solicitação create Job operações, conforme definido em POST /api/2.1/Job/create na referência da API REST, expresso no formato YAML. Consulte também "Delta Live Tables pipeline" em Opções de tipo de tarefa.

tarefa dbt

O senhor usa 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 site Job. Essa tarefa dbt usa o endereço SQL warehouse especificado para executar o comando dbt especificado. (As elipses indicam conteúdo omitido, para fins de concisão).

# ...
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 o ID do SQL warehouse, abra a página de configurações do SQL warehousee copie o ID encontrado entre parênteses após o nome do depósito no campo Name (Nome ) na Visão Geral do tab.

Para obter mapeamentos adicionais que o senhor pode definir para essa tarefa, consulte tasks > dbt_task no payload da solicitação create Job operações, conforme definido em POST /api/2.1/Job/create na referência da API REST, expresso no formato YAML. Consulte também "dbt" em Opções de tipo de tarefa.

Execução Job task

O senhor usa essa tarefa para executar outra Job.

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

# ...
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 o ID do site Job para execução. Para obter o ID de um Jobna interface do usuário, abra o Job no workspace e copie o ID do valor do Job ID no Job details tab da página de configurações do trabalho.

Para obter mapeamentos adicionais que o senhor pode definir para essa tarefa, consulte tasks > run_job_task no payload da solicitação create Job operações, conforme definido em POST /api/2.1/Job/create na referência da API REST, expresso no formato YAML.