Pular para o conteúdo principal

Adicionar tarefa ao trabalho em Databricks ativo Bundles

Esta página fornece informações sobre como definir tarefa de trabalho em pacotes ativos Databricks . Para obter informações sobre a tarefa do Job, consulte Configurar e editar tarefa no LakeFlow Jobs.

important

O campo Job git_source e o campo tarefa source definidos como GIT não são recomendados para pacotes, pois os caminhos relativos locais podem não apontar para o mesmo conteúdo no repositório Git. Os pacotes esperam que um trabalho implantado tenha os mesmos arquivos que a cópia local de onde foi implantado.

Em vez disso, clone o repositório localmente e configure seu projeto de pacote dentro desse repositório, de modo que o código-fonte da tarefa seja o workspace.

Configurar tarefa

Defina tarefa para um Job em um pacote na key tasks para a definição do Job. Exemplos de configuração de tarefas para os tipos de tarefas disponíveis estão na seção de configurações de tarefas . Para obter informações sobre como definir um Job em um pacote, consulte Job.

dica

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

Para definir valores de tarefa, a maioria dos tipos de tarefa de trabalho tem parâmetros específicos de tarefa, mas você também pode definir parâmetros de tarefa que são passados para tarefa. Referências de valores dinâmicos são suportadas para parâmetros de Job, o que permite passar valores específicos para a execução do Job entre tarefas. Para informações completas sobre como passar valores de tarefa por tipo de tarefa, veja Detalhes por tipo de tarefa.

Você também pode substituir as configurações gerais da tarefa Job pelas configurações de um workspace de destino. Consulte Substituir com configurações de destino.

O exemplo de configuração a seguir define um Job com duas tarefas do Notebook e passa um valor de tarefa da primeira tarefa para a segunda tarefa.

YAML
resources:
jobs:
pass_task_values_job:
name: pass_task_values_job
tasks:
# Output task
- task_key: output_value
notebook_task:
notebook_path: ../src/output_notebook.ipynb

# Input task
- task_key: input_value
depends_on:
- task_key: output_value
notebook_task:
notebook_path: ../src/input_notebook.ipynb
base_parameters:
received_message: '{{tasks.output_value.values.message}}'

O output_notebook.ipynb contém o seguinte código, que define um valor tarefa para a key message :

Python
# Databricks notebook source
# This first task sets a simple output value.

message = "Hello from the first task"

# Set the message to be used by other tasks
dbutils.jobs.taskValues.set(key="message", value=message)

print(f"Produced message: {message}")

O input_notebook.ipynb recupera o valor do parâmetro received_message, que foi definido na configuração da tarefa:

Python
# This notebook receives the message as a parameter.

dbutils.widgets.text("received_message", "")
received_message = dbutils.widgets.get("received_message")

print(f"Received message: {received_message}")

configurações de tarefas

Esta seção contém configurações e exemplos para cada tipo de tarefa.

Condição tarefa

O condition_task permite que você adicione uma tarefa com lógica condicional if/else ao seu Job. A tarefa avalia uma condição que pode ser usada para controlar a execução de outra tarefa. A tarefa de condição não requer um cluster para ser executada e não oferece suporte a novas tentativas ou notificações. Para obter mais informações sobre a tarefa de condição if/else, consulte Adicionar lógica de ramificação a um trabalho com a tarefa If/else.

As seguintes chaves estão disponíveis para uma condição tarefa. Para a definição do objeto REST API correspondente, consulte condition_task.

Chave

Tipo

Descrição

left

String

Obrigatório. O operando esquerdo da condição. Pode ser um valor de strings ou um estado de trabalho ou uma referência de valor dinâmico, como {{job.repair_count}} ou {{tasks.task_key.values.output}}.

op

String

Obrigatório. O operador a ser usado para comparação. Os valores válidos são: EQUAL_TO, NOT_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL.

right

String

Obrigatório. O operando direito da condição. Pode ser um valor de strings, um estado de trabalho ou uma referência de valor dinâmico.

Exemplos

O exemplo a seguir contém uma tarefa de condição e uma tarefa de Notebook, em que a tarefa de Notebook só é executada se o número de reparos de trabalhos for menor que 5.

YAML
resources:
jobs:
my-job:
name: my-job
tasks:
- task_key: condition_task
condition_task:
op: LESS_THAN
left: '{{job.repair_count}}'
right: '5'
- task_key: notebook_task
depends_on:
- task_key: condition_task
outcome: 'true'
notebook_task:
notebook_path: ../src/notebook.ipynb

Tarefa do painel de controle

Use esta tarefa para refresh um painel e enviar um Snapshot aos assinantes. Para mais informações sobre painéis em pacotes, consulte painel.

As seguintes teclas estão disponíveis para uma tarefa do painel. Para a definição do objeto REST API correspondente, consulte dashboard_task.

Chave

Tipo

Descrição

dashboard_id

String

Obrigatório. O identificador do painel a ser atualizado. O painel já deve existir.

subscription

Mapa

A configuração de inscrição para enviar o Snapshot do painel. Cada objeto de inscrição pode especificar configurações de destino para onde enviar o Snapshot após a conclusão refresh do painel. Veja inscrição.

warehouse_id

String

O ID do warehouse para executar o painel para o programador. Se não for especificado, o warehouse default do painel será usado.

Exemplos

O exemplo a seguir adiciona um dashboard tarefa a um Job. Quando o trabalho é executado, o painel com o ID especificado é atualizado.

YAML
resources:
jobs:
my-dashboard-job:
name: my-dashboard-job
tasks:
- task_key: my-dashboard-task
dashboard_task:
dashboard_id: 11111111-1111-1111-1111-111111111111

tarefa dbt

Você usa esta tarefa para executar um ou mais comandos dbt . Para obter mais informações sobre dbt, consulte Conectar ao dbt Cloud.

As seguintes chaves estão disponíveis para uma tarefadbt. Para a definição de objeto REST API correspondente, consulte dbt_task.

Chave

Tipo

Descrição

catalog

String

O nome do catálogo a ser usado. O valor do catálogo só pode ser especificado se um warehouse_id for especificado. Este campo requer dbt-databricks >= 1.1.1.

commands

Sequência

Obrigatório. Uma lista de comandos dbt para executar em sequência. Cada comando deve ser um comando dbt completo (por exemplo, dbt deps, dbt seed, dbt run, dbt test). É possível fornecer no máximo 10 comandos.

profiles_directory

String

O caminho para o diretório que contém o arquivo dbt profiles.yml. Só pode ser especificado se nenhum warehouse_id for especificado. Se nenhum warehouse_id for especificado e esta pasta não estiver definida, o diretório raiz será usado.

project_directory

String

O caminho para o diretório que contém o projeto dbt. Se não for especificado, o padrão será a raiz do repositório ou do diretório workspace . Para projetos armazenados no workspace Databricks , o caminho deve ser absoluto e começar com uma barra. Para projetos em um repositório remoto, o caminho deve ser relativo.

schema

String

O esquema para escrever. Este parâmetro só é usado quando um warehouse_id também é fornecido. Se não for fornecido, o esquema default será usado.

source

String

O tipo de localização do projeto dbt. Os valores válidos são WORKSPACE e GIT. Quando definido como WORKSPACE, o projeto será recuperado do workspace Databricks . Quando definido como GIT, o projeto será recuperado de um repositório Git definido em git_source. Se estiver vazio, a tarefa usará GIT se git_source estiver definido e WORKSPACE caso contrário.

warehouse_id

String

O ID do SQL warehouse a ser usado para executar o comando dbt . Se não for especificado, o warehouse default será usado.

Exemplos

O exemplo a seguir adiciona uma tarefa dbt a um trabalho. Esta dbt tarefa usa o SQL warehouse especificado para executar o dbt comando especificado.

Para obter o ID do SQL warehouse, abra a página de configurações do SQL warehouse e copie o ID encontrado entre parênteses após o nome do depósito no campo Name (Nome) na Visão Geral do tab.

dica

Databricks O ativo Bundles também inclui um padrão de projeto dbt-sql que define um trabalho com uma tarefa dbt, bem como perfis dbt para o trabalho dbt implantado. Para obter informações sobre Databricks ativo Bundles padrão, consulte default bundle padrão.

YAML
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 cada tarefa

O for_each_task permite que o senhor adicione uma tarefa com um loop for each ao seu Job. A tarefa executa uma tarefa aninhada para cada entrada fornecida. Para obter mais informações sobre o for_each_task, consulte Usar uma tarefa For each para executar outra tarefa em um loop.

As seguintes chaves estão disponíveis para um for_each_task. Para a definição do objeto REST API correspondente, consulte for_each_task.

Chave

Tipo

Descrição

concurrency

Integer

O número máximo de iterações de tarefa que podem ser executadas simultaneamente. Se não for especificado, todas as iterações podem ser executadas em paralelo, sujeitas aos limites cluster e workspace .

inputs

String

Obrigatório. Os dados de entrada para o loop. Pode ser uma string JSON ou uma referência a um parâmetro de matriz. Cada elemento na matriz será passado para uma iteração da tarefa aninhada.

task

Mapa

Obrigatório. A definição de tarefa aninhada a ser executada para cada entrada. Este objeto contém a especificação completa da tarefa, incluindo task_key e o tipo de tarefa (por exemplo, notebook_task, python_wheel_task, etc.).

Exemplos

O exemplo a seguir adiciona um for_each_task a um Job, onde ele faz um loop sobre os valores de outra tarefa e os processa.

YAML
resources:
jobs:
my_job:
name: my_job
tasks:
- task_key: generate_countries_list
notebook_task:
notebook_path: ../src/generate_countries_list.ipnyb
- task_key: process_countries
depends_on:
- task_key: generate_countries_list
for_each_task:
inputs: '{{tasks.generate_countries_list.values.countries}}'
task:
task_key: process_countries_iteration
notebook_task:
notebook_path: ../src/process_countries_notebook.ipnyb

JAR tarefa

Você usa esta tarefa para executar um JAR. Você pode referenciar bibliotecas JAR locais ou aquelas em um workspace, um volume Unity Catalog ou um local de armazenamento cloud externo. Veja o arquivo JAR (Java ou Scala).

Para obter detalhes sobre como compilar e implantar arquivos Scala JAR em um clustering habilitado para Unity Catalogno modo de acesso padrão, consulte implantar Scala JARs no clustering Unity Catalog.

As seguintes chaves estão disponíveis para um JAR tarefa. Para a definição do objeto REST API correspondente, consulte jar_task.

Chave

Tipo

Descrição

jar_uri

String

Obsoleto. O URI do JAR a ser executado. Caminhos de armazenamento cloud e DBFS são suportados. Este campo está obsoleto e não deve ser usado. Em vez disso, use o campo libraries para especificar dependências JAR.

main_class_name

String

Obrigatório. O nome completo da classe que contém o método principal a ser executado. Esta classe deve estar contida em um JAR fornecido como uma biblioteca. O código deve usar SparkContext.getOrCreate para obter um contexto Spark ; caso contrário, a execução do Job falhará.

parameters

Sequência

Os parâmetros passados para o método principal. Utilize variáveis de parâmetros de tarefa para definir parâmetros contendo informações sobre a execução do Job.

Exemplos

O exemplo a seguir adiciona uma tarefa JAR a um Job. O caminho para o JAR é para um local de volume.

YAML
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

Notebook tarefa

O senhor usa essa tarefa para executar um Notebook. Consulte Notebook tarefa for Job.

As seguintes teclas estão disponíveis para uma tarefa do Notebook. Para a definição de objeto REST API correspondente, consulte notebook_task.

Chave

Tipo

Descrição

base_parameters

Mapa

Os parâmetros base a serem usados para cada execução deste Job.

  • Se a execução for iniciada por uma chamada para Job ou execução-now com parâmetros especificados, os dois mapas de parâmetros serão mesclados.
  • Se a mesma key for especificada em base_parameters e em run-now, o valor de run-now será usado. Utilize variáveis de parâmetros de tarefa para definir parâmetros contendo informações sobre a execução do Job.
  • Se o Notebook aceitar um parâmetro que não esteja especificado nos parâmetros de substituição base_parameters ou run-now do Job, o valor default do Notebook será usado. Recupere esses parâmetros em um Notebook usando dbutils.widgets.get.

notebook_path

String

Obrigatório. O caminho do Notebook no workspace Databricks ou no repositório remoto, por exemplo /Users/user.name@databricks.com/notebook_to_run. Para o Notebook armazenado no workspace Databricks , o caminho deve ser absoluto e começar com uma barra. Para Notebook armazenado em um repositório remoto, o caminho deve ser relativo.

source

String

Tipo de localização do Notebook. Os valores válidos são WORKSPACE e GIT. Quando definido como WORKSPACE, o Notebook será recuperado do workspace local Databricks . Quando definido como GIT, o Notebook será recuperado de um repositório Git definido em git_source. Se o valor estiver vazio, a tarefa usará GIT se git_source estiver definido e WORKSPACE caso contrário.

warehouse_id

String

O ID do warehouse para execução do Notebook. Os armazéns SQL clássicos não são suportados. Em vez disso, use serverless ou o pro SQL warehouse. Observe que SQL Warehouse só oferece suporte a células SQL . Se o Notebook contiver células não SQL, a execução falhará, então se você precisar usar Python (ou outro) em uma célula, use serverless.

Exemplos

O exemplo a seguir adiciona uma tarefa de Notebook a um Job e define um parâmetro de Job chamado my_job_run_id. O caminho para o Notebook a ser implantado é relativo ao arquivo de configuração no qual essa tarefa é declarada. A tarefa obtém o Notebook de seu local implantado no site Databricks workspace.

YAML
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}}'

tarefa do oleoduto

O senhor usa essa tarefa para executar a pipeline. Consulte LakeFlow Pipeline declarativo.

As seguintes chaves estão disponíveis para uma tarefapipeline. Para a definição do objeto REST API correspondente, consulte pipeline_task.

Chave

Tipo

Descrição

full_refresh

Booleana

Se verdadeiro, uma refresh completa do pipeline será acionada, o que recalculará completamente todos os conjuntos de dados no pipeline. Se falso ou omitido, somente dados incrementais serão processados. Para obter detalhes, consulte semântica refresh do pipeline.

pipeline_id

String

Obrigatório. O ID do pipeline para execução. O pipeline já deve existir.

Exemplos

O exemplo a seguir adiciona uma tarefa pipeline a um trabalho. Esta tarefa executa o pipeline especificado.

dica

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

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

TarefaPower BI

info

Visualização

O tipo de tarefa do Power BI está em Visualização Pública.

Use esta tarefa para acionar uma refresh de um modelo semântico Power BI (anteriormente conhecido como dataset).

As seguintes chaves estão disponíveis para uma tarefaPower BI. Para a definição do objeto REST API correspondente, consulte power_bi_task.

Chave

Tipo

Descrição

connection_resource_name

String

Obrigatório. O nome da conexão do Unity Catalog para autenticação do Databricks para Power BI.

power_bi_model

String

Obrigatório. O nome do modelo semântico Power BI (dataset) a ser atualizado.

refresh_after_update

Booleana

Se o modelo semântico Power BI deve ser refresh após a conclusão da atualização. padrão para falso.

tables

Sequência

Uma lista de tabelas (cada uma como um Mapa) a serem exportadas para o Power BI. Consulte tabelas.

warehouse_id

String

O ID do SQL warehouse a ser usado como fonte de dados Power BI .

Exemplos

O exemplo a seguir define uma tarefa do Power BI, que especifica uma conexão, o modelo do Power BI a ser atualizado e a tabela do Databricks a ser exportada.

YAML
resources:
jobs:
my_job:
name: my_job
tasks:
- task_key: power_bi_task
power_bi_task:
connection_resource_name: 'connection_name'
power_bi_model:
workspace_name: 'workspace_name'
model_name: 'model_name'
storage_mode: 'DIRECT_QUERY'
authentication_method: 'OAUTH'
overwrite_existing: false
refresh_after_update: false
tables:
- catalog: 'main'
schema: 'tpch'
name: 'customers'
storage_mode: 'DIRECT_QUERY'
warehouse_id: '1a111111a1111aa1'

Python tarefa do script

O senhor usa essa tarefa para executar um arquivo Python.

As seguintes chaves estão disponíveis para um scriptPython tarefa. Para a definição do objeto REST API correspondente, consulte python_task.

Chave

Tipo

Descrição

parameters

Sequência

Os parâmetros a serem passados para o arquivo Python. Utilize variáveis de parâmetros de tarefa para definir parâmetros contendo informações sobre a execução do Job.

python_file

String

Obrigatório. O URI do arquivo Python a ser executado, por exemplo /Users/someone@example.com/my-script.py. Para arquivos Python armazenados no workspace Databricks , o caminho deve ser absoluto e começar com /. Para arquivos armazenados em um repositório remoto, o caminho deve ser relativo. Este campo não suporta referências de valores dinâmicos, como variáveis.

source

String

O tipo de localização do arquivo Python. Os valores válidos são WORKSPACE e GIT. Quando definido como WORKSPACE, o arquivo será recuperado do workspace local Databricks . Quando definido como GIT, o arquivo será recuperado de um repositório Git definido em git_source. Se o valor estiver vazio, a tarefa usará GIT se git_source estiver definido e WORKSPACE caso contrário.

Exemplos

O exemplo a seguir adiciona um script Python tarefa a um trabalho. O caminho para o arquivo Python a 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 site Databricks workspace.

YAML
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

Python wheel tarefa

Você usa esta tarefa para executar uma Python wheel. Veja Construir um arquivo Python wheel usando Databricks ativo Bundles.

As seguintes chaves estão disponíveis para uma tarefaPython wheel. Para a definição do objeto REST API correspondente, consulte python_wheel_task.

Chave

Tipo

Descrição

entry_point

String

Obrigatório. O ponto de entrada nomeado para executar: função ou classe. Se não existir nos metadados do pacote, ele executa a função diretamente do pacote usando $packageName.$entryPoint().

named_parameters

Mapa

Os parâmetros nomeados para passar para a tarefa Python wheel , também conhecidos como argumentos de palavra-chave . Um parâmetro nomeado é uma keypar -valor com uma key de strings e um valor de strings. parameters e named_parameters não podem ser especificados. Se named_parameters for especificado, os parameters serão passados como argumentos de palavra-chave para a função de ponto de entrada.

package_name

String

Obrigatório. O nome do pacote Python a ser executado. Todas as dependências devem ser instaladas no ambiente. Isso não verifica nem instala nenhuma dependência de pacote.

parameters

Sequência

Os parâmetros a serem passados para a tarefa Python wheel , também conhecidos como argumentos posicionais . Cada parâmetro é uma string. Se especificado, named_parameters não deve ser especificado.

Exemplos

O exemplo a seguir adiciona uma tarefa Python wheel a um trabalho. O caminho para o arquivo Python wheel a ser implantado é relativo ao arquivo de configuração no qual essa tarefa é declarada. Consulte Databricks ativo Bundles biblioteca dependencies.

YAML
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

execução Job tarefa

O senhor usa essa tarefa para executar outro trabalho.

As seguintes chaves estão disponíveis para uma tarefa de execução do Job. Para a definição do objeto REST API correspondente, consulte run_job_task.

Chave

Tipo

Descrição

job_id

Integer

Obrigatório. O ID do trabalho a ser executado. O trabalho já deve existir no workspace.

job_parameters

Mapa

Parâmetros de nível de Joba serem passados para o trabalho que está sendo executado. Esses parâmetros são acessíveis na tarefa do Job.

pipeline_params

Mapa

Parâmetros para a tarefa de pipeline. Usado somente se o Job em execução contiver uma tarefa pipeline . Pode incluir full_refresh para acionar uma refresh completa do pipeline.

Exemplos

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

Este exemplo usa uma substituição para recuperar o ID do trabalho a ser executado. Para obter o ID de um trabalho na interface do usuário, abra o trabalho em workspace e copie o ID do valor Job ID em Job details tab da página de configurações do trabalho.

YAML
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}

TarefaSQL

Você usa esta tarefa para executar um arquivo SQL , consulta ou alerta.

As seguintes chaves estão disponíveis para uma tarefaSQL. Para a definição de objeto REST API correspondente, consulte sql_task.

Chave

Tipo

Descrição

alert

Mapa

Configuração para executar um alerta SQL. Contém:

  • alert_id (strings): Obrigatório. O identificador canônico do alerta SQL para execução.
  • pause_subscriptions (Boolean): Se deve pausar alerta inscrição.
  • subscriptions (Sequência): Lista de configurações de inscrição.

dashboard

Mapa

Configuração para atualizar um painel SQL. Contém:

  • dashboard_id (strings): Obrigatório. O identificador canônico do painel SQL a ser refresh.
  • custom_subject (strings): Assunto personalizado para o email enviado aos assinantes do painel.
  • pause_subscriptions (Boolean): Se deseja pausar a inscrição do dashboard.
  • subscriptions (Sequência): Lista de configurações de inscrição.

file

Mapa

Configuração para executar um arquivo SQL. Contém:

  • path (strings): Obrigatório. O caminho do arquivo SQL no workspace ou repositório remoto. Para arquivos armazenados no workspace Databricks , o caminho deve ser absoluto e começar com uma barra. Para arquivos armazenados em um repositório remoto, o caminho deve ser relativo.
  • source (strings): O tipo de localização do arquivo SQL . Os valores válidos são WORKSPACE e GIT.

parameters

Mapa

Parâmetros a serem usados para cada execução desta tarefa. Consultas e arquivos SQL podem usar esses parâmetros referenciando-os com a sintaxe {{parameter_key}}. Utilize variáveis de parâmetros de tarefa para definir parâmetros contendo informações sobre a execução do Job.

query

Mapa

Configuração para executar uma consulta SQL. Contém:

  • query_id (strings): Obrigatório. O identificador canônico da consulta SQL para execução.

warehouse_id

String

Obrigatório. O ID do SQL warehouse a ser usado para executar a tarefa SQL . O SQL warehouse já deve existir.

Exemplos

dica

Para obter o ID do SQL warehouse, abra a página de configurações do SQL warehouse e copie o ID encontrado entre parênteses após o nome do depósito no campo Name (Nome) na Visão Geral do tab.

O exemplo a seguir adiciona um arquivo SQL tarefa a um trabalho. Essa tarefa do arquivo SQL usa o arquivo SQL warehouse especificado para executar o arquivo SQL especificado.

YAML
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

O exemplo a seguir adiciona uma tarefa de alerta SQL a um Job. Esta tarefa de alerta SQL usa o SQL warehouse especificado para refresh o alerta SQL especificado.

YAML
resources:
jobs:
my-sql-file-job:
name: my-sql-alert-job
tasks:
- task_key: my-sql-alert-task
sql_task:
warehouse_id: 1a111111a1111aa1
alert:
alert_id: 11111111-1111-1111-1111-111111111111

O exemplo a seguir adiciona uma tarefa de consulta SQL a um Job. Esta tarefa de consulta SQL usa o SQL warehouse especificado para executar a consulta SQL especificada.

YAML
resources:
jobs:
my-sql-query-job:
name: my-sql-query-job
tasks:
- task_key: my-sql-query-task
sql_task:
warehouse_id: 1a111111a1111aa1
query:
query_id: 11111111-1111-1111-1111-111111111111

Outras configurações de tarefas

As seguintes configurações de tarefas permitem que você configure comportamentos para todas as tarefas. Para as definições de objetos API REST correspondentes, consulte tarefa.

Chave

Tipo

Descrição

compute_key

String

A key do recurso compute a ser usado para esta tarefa. Se especificado, new_cluster, existing_cluster_id e job_cluster_key não podem ser especificados.

depends_on

Sequência

Uma lista opcional de dependências de tarefas. Cada item contém:

  • task_key (strings): Obrigatório. A key da tarefa da qual esta tarefa depende.
  • outcome (strings): Pode ser especificado somente para condition_task. Se especificado, a tarefa dependente somente será executada se a condição for avaliada como o resultado especificado ( true ou false).

description

String

Uma descrição opcional para a tarefa.

disable_auto_optimization

Booleana

Se deseja desabilitar a otimização automática para esta tarefa. Se verdadeiro, otimizações automáticas como execução adaptável de consultas serão desabilitadas.

email_notifications

Mapa

Um conjunto opcional de endereços email para notificar quando uma execução começa, é concluída ou falha. Cada item contém:

  • on_start (Sequência): Lista de endereços email para avisar quando uma execução começar.
  • on_success (Sequência): Lista de endereços email para notificar quando uma execução for concluída com sucesso.
  • on_failure (Sequência): Lista de endereços email para notificar quando uma execução falha.
  • on_duration_warning_threshold_exceeded (Sequência): Lista de endereços email para avisar quando a duração da execução ultrapassar o limite.
  • on_streaming_backlog_suceeded (Sequência): Lista de endereços email para notificar quando qualquer limite de pendência de transmissão for excedido para qualquer transmissão.

environment_key

String

A key de um ambiente definido na configuração environments do Job. Usado para especificar configurações específicas do ambiente. Este campo é obrigatório para script Python , Python wheel e tarefa dbt ao usar compute serverless .

existing_cluster_id

String

O ID de um cluster existente que será usado para toda a execução desta tarefa.

health

Mapa

Uma especificação opcional para monitoramento de saúde desta tarefa que inclui uma key rules , que é uma lista de regras de saúde a serem avaliadas.

job_cluster_key

String

A key de um cluster de Job definido na configuração job_clusters do Job.

libraries

Sequência

Uma lista opcional de bibliotecas a serem instaladas no cluster que executará a tarefa. Cada biblioteca é especificada como um mapa com chave como jar, egg, whl, pypi, maven, cran ou requirements.

max_retries

Integer

Um número máximo opcional de vezes para repetir a tarefa se ela falhar. Se não for especificado, a tarefa não será repetida.

min_retry_interval_millis

Integer

Um intervalo mínimo opcional em milissegundos entre o início da execução com falha e a execução de nova tentativa subsequente. Se não for especificado, o default é 0 (nova tentativa imediata).

new_cluster

Mapa

Uma especificação para um novo cluster a ser criado para cada execução desta tarefa. Veja cluster.

notification_settings

Mapa

Configurações de notificação opcionais para esta tarefa. Cada item contém:

  • no_alert_for_skipped_runs (Boolean): Se verdadeiro, não enviar notificações para execução ignorada.
  • no_alert_for_canceled_runs (Boolean): Se verdadeiro, não enviar notificações para execução cancelada.
  • alert_on_last_attempt (Boolean): Se verdadeiro, enviar notificações somente na última tentativa de repetição.

retry_on_timeout

Booleana

Uma política opcional para especificar se a tarefa deve ser repetida quando o tempo limite for atingido. Se não for especificado, o padrão é falso.

run_if

String

Um valor opcional que indica a condição sob a qual a tarefa deve ser executada. Os valores válidos são:

  • ALL_SUCCESS (default): execução se todas as dependências forem bem-sucedidas.
  • AT_LEAST_ONE_SUCCESS: execução se pelo menos uma dependência for bem-sucedida.
  • NONE_FAILED: execução se nenhuma dependência falhar.
  • ALL_DONE: execução quando todas as dependências forem concluídas, independentemente do resultado.
  • AT_LEAST_ONE_FAILED: execução se pelo menos uma dependência falhar.
  • ALL_FAILED: execução se todas as dependências falharem.

task_key

String

Obrigatório. Um nome exclusivo para a tarefa. Este campo é usado para se referir a esta tarefa a partir de outra tarefa usando o campo depends_on .

timeout_seconds

Integer

Um tempo limite opcional aplicado a cada execução desta tarefa. Um valor de 0 significa que não há tempo limite. Se não for definido, o tempo limite default da configuração cluster será usado.

webhook_notifications

Mapa

Um conjunto opcional de destinos do sistema para notificar quando uma execução começa, é concluída ou falha. Cada item contém:

  • on_start (Sequência): Lista de destinos de notificação quando uma execução começar.
  • on_success (Sequência): Lista de destinos de notificação quando uma execução é concluída.
  • on_failure (Sequência): Lista de destinos de notificação quando uma execução falha.
  • on_duration_warning_threshold_exceeded (Sequência): Lista de destinos de notificação quando a duração da execução excede o limite.
  • on_streaming_backlog_suceeded (Sequência): Lista de endereços email para notificar quando qualquer limite de pendência de transmissão for excedido para qualquer transmissão.