Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta página fornece informações sobre como definir tarefas de trabalho no Databricks Asset Bundles. Para obter informações sobre tarefas de trabalho, consulte Configurar e editar tarefas em trabalhos do Lakeflow.
Importante
O campo de trabalho git_source e o campo de tarefa source definidos para GIT não são recomendados para pacotes, porque caminhos relativos no nível local 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, para que a origem das tarefas seja o espaço de trabalho.
Configurar tarefas
Defina tarefas para um trabalho em um pacote na tasks chave para a definição do trabalho. Exemplos de configuração de tarefas para os tipos de tarefas disponíveis estão na seção Configurações de tarefas . Para obter informações sobre como definir um trabalho em um pacote, consulte trabalho.
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 de bundle.
Para definir valores de tarefas, a maioria dos tipos de tarefas de trabalho tem parâmetros específicos de tarefas, 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. Para obter informações completas sobre como passar valores de tarefa por tipo de tarefa, consulte Detalhes por tipo de tarefa.
Você também pode substituir as configurações gerais de tarefas de trabalho por configurações para um espaço de trabalho de destino. Consulte Substituir com configurações de destino.
O exemplo de configuração a seguir define um trabalho com duas tarefas de bloco de anotações e passa um valor de tarefa da primeira tarefa para a segunda.
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 de tarefa para a message chave:
# 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 para a tarefa:
# 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 de trabalho.
Tarefa do caderno de anotações de sala limpa
A tarefa de bloco de anotações de sala limpa executa um bloco de anotações de sala limpa quando o campo clean_rooms_notebook_task está presente. Para obter informações sobre salas limpas, consulte O que é o Azure Databricks Clean Rooms?.
As teclas a seguir estão disponíveis para uma tarefa de caderno de salas limpas. Para obter a definição de objeto da API REST correspondente, consulte clean_rooms_notebook_task.
| Key | Tipo | Description |
|---|---|---|
clean_room_name |
Cordão | Required. A sala limpa a que pertence o caderno. |
etag |
Cordão | Checksum para validar a atualidade do recurso do bloco de anotações. Ele pode ser obtido ao chamar a operação de obtenção de ativos da sala limpa. |
object |
Map | Parâmetros básicos a serem usados para o caderno de registos de sala limpa. |
notebook_name |
Cordão | Required. Nome do bloco de notas que está a ser executado. |
Tarefa condicional
O condition_task permite que você adicione uma tarefa com lógica condicional if/else ao seu trabalho. A tarefa avalia uma condição que pode ser usada para controlar a execução de outras tarefas. A tarefa de condição não requer a execução de um cluster e não suporta 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 tarefa condicional. Para obter a definição de objeto da API REST correspondente, consulte condition_task.
| Key | Tipo | Description |
|---|---|---|
left |
Cordão | Required. O operando esquerdo da condição. Pode ser um valor de cadeia de caracteres ou um estado de trabalho ou uma referência de valor dinâmico, como {{job.repair_count}} ou {{tasks.task_key.values.output}}. |
op |
Cordão | Required. O operador a utilizar para comparação. Os valores válidos são: EQUAL_TO, NOT_EQUAL, GREATER_THAN, , GREATER_THAN_OR_EQUALLESS_THAN, . LESS_THAN_OR_EQUAL |
right |
Cordão | Required. O operando direito da condição. Pode ser um valor de cadeia de caracteres ou um estado de trabalho ou uma referência de valor dinâmico. |
Examples
O exemplo a seguir contém uma tarefa de condição e uma tarefa de caderno de notas, em que a tarefa de caderno de notas apenas é executada se o número de reparações de trabalho for menor que 5.
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 controlo
Use essa tarefa para atualizar um painel e enviar um instantâneo para os assinantes. Para obter mais informações sobre os dashboards em pacotes, consulte dashboard.
As chaves a seguir estão disponíveis para uma tarefa de painel. Para obter a definição de objeto da API REST correspondente, consulte dashboard_task.
| Key | Tipo | Description |
|---|---|---|
dashboard_id |
Cordão | Required. O identificador do painel a ser atualizado. O painel já deve existir. |
subscription |
Map | A configuração de subscrição para o envio da captura do painel. Cada objeto de assinatura pode especificar configurações de destino para onde enviar instantâneos após a conclusão da atualização do painel. Consulte a subscrição. |
warehouse_id |
Cordão | O identificador do depósito para executar o painel conforme a programação. Se não for especificado, o depósito padrão do painel será usado. |
Examples
O exemplo a seguir adiciona uma tarefa de painel a um trabalho. Quando o trabalho é executado, o painel com a ID especificada é atualizado.
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
Use essa tarefa para executar um ou mais comandos dbt. Para obter mais informações sobre dbt, consulte Connect to dbt Cloud.
As chaves a seguir estão disponíveis para uma tarefa dbt. Para obter a definição de objeto da API REST correspondente, consulte dbt_task.
| Key | Tipo | Description |
|---|---|---|
catalog |
Cordão | O nome do catálogo a ser usado. O valor do catálogo só pode ser especificado se a warehouse_id for especificada. Este campo requer dbt-databricks >= 1.1.1. |
commands |
Sequence | Required. 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 rundbt test). Um máximo de até 10 comandos podem ser fornecidos. |
profiles_directory |
Cordão | O caminho para o diretório que contém o arquivo dbt profiles.yml. Pode apenas ser especificado se warehouse_id não estiver especificado. Se warehouse_id não estiver especificado e esta pasta não estiver definida, o diretório raiz será usado. |
project_directory |
Cordão | O caminho para o diretório que contém o projeto dbt. Se não for especificado, assume por padrão a raiz do repositório ou do diretório do espaço de trabalho. Para projetos armazenados no espaço de trabalho 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 |
Cordão | O esquema para gravar. Este parâmetro só é usado quando um warehouse_id também é fornecido. Se não for fornecido, o esquema padrão será usado. |
source |
Cordão | 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 espaço de trabalho Databricks. Quando definido como GIT, o projeto será recuperado de um repositório Git definido em git_source. Se estiver vazia, a tarefa usará GIT se git_source estiver definida e WORKSPACE de outra forma. |
warehouse_id |
Cordão | O ID do SQL warehouse a ser usado para executar comandos dbt. Se não for especificado, o depósito padrão será usado. |
Examples
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.
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 .
Gorjeta
O Databricks Asset Bundles também inclui um modelo de dbt-sql projeto que define um trabalho com uma tarefa dbt, bem como perfis dbt para trabalhos dbt implantados. Para obter informações sobre modelos Databricks Asset Bundles, consulte Default bundle templates.
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 você adicione uma tarefa com um para cada loop ao seu trabalho. A tarefa executa uma tarefa aninhada para cada dado de entrada fornecido. Para obter mais informações sobre o for_each_task, consulte Usar uma tarefa For each para executar outra tarefa em um loop.
A seguinte chave está disponível para um for_each_taskarquivo. Para obter a definição de objeto da API REST correspondente, consulte for_each_task.
| Key | Tipo | Description |
|---|---|---|
concurrency |
Número inteiro | O número máximo de iterações de tarefas que podem ser executadas simultaneamente. Se não for especificado, todas as iterações podem ser executadas em paralelo, sujeitas aos limites de cluster e espaço de trabalho. |
inputs |
Cordão | Required. Os dados de entrada para o loop. Isso pode ser uma cadeia de caracteres 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 |
Map | Required. A definição de tarefa aninhada a ser executada para cada entrada de dados. Este objeto contém a especificação completa da tarefa, incluindo task_key e o tipo de tarefa (por exemplo, notebook_task, , python_wheel_tasketc.). |
Examples
O exemplo a seguir adiciona um for_each_task a um trabalho, onde ele faz um loop sobre os valores de outra tarefa e os processa.
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
Tarefa JAR
Use essa tarefa para executar um JAR. Você pode fazer referência a bibliotecas JAR locais ou aquelas em um espaço de trabalho, num volume do Catálogo Unity ou num local de armazenamento em nuvem externo. Consulte Arquivo JAR (Java ou Scala).
Para obter detalhes sobre como compilar e implantar arquivos JAR Scala em um cluster habilitado para catálogo Unity no modo de acesso padrão, consulte Tutorial: Executar código Scala em computação sem servidor.
As chaves a seguir estão disponíveis para uma tarefa JAR. Para obter a definição de objeto da API REST correspondente, consulte jar_task.
| Key | Tipo | Description |
|---|---|---|
jar_uri |
Cordão | Deprecated. O URI do JAR a ser executado. DBFS e caminhos de armazenamento em nuvem são suportados. Este campo foi preterido e não deve ser usado. Em vez disso, use o libraries campo para especificar dependências JAR. |
main_class_name |
Cordão | Required. O nome completo da classe que contém o método principal a ser executado. Essa classe deve estar contida em um JAR fornecido como uma biblioteca. O código deve ser usado SparkContext.getOrCreate para obter um contexto Spark, caso contrário, as execuções do trabalho falharão. |
parameters |
Sequence | Os parâmetros passaram para o método principal. Use variáveis de parâmetro de tarefa para definir parâmetros que contenham informações sobre execuções de trabalho. |
Examples
O exemplo a seguir adiciona uma tarefa JAR a um trabalho. O caminho para o JAR leva a uma localização de volume.
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
Tarefa do caderno
Use essa tarefa para executar um bloco de anotações. Veja a tarefa do caderno de anotações para tarefas.
As teclas a seguir estão disponíveis para uma tarefa num portátil. Para obter a definição de objeto da API REST correspondente, consulte notebook_task.
| Key | Tipo | Description |
|---|---|---|
base_parameters |
Map | Os parâmetros base a serem usados para cada execução deste trabalho.
|
notebook_path |
Cordão | Required. O caminho do notebook no espaço de trabalho Databricks ou no repositório remoto, por exemplo /Users/user.name@databricks.com/notebook_to_run. Para blocos de anotações armazenados no espaço de trabalho Databricks, o caminho deve ser absoluto e começar com uma barra. Para blocos de anotações armazenados em um repositório remoto, o caminho deve ser relativo. |
source |
Cordão | Tipo de localização do bloco de notas. Os valores válidos são WORKSPACE e GIT. Quando definido como WORKSPACE, o bloco de anotações será recuperado do espaço de trabalho Databricks local. Quando definido como GIT, o bloco de anotações será recuperado de um repositório Git definido em git_source. Se o valor estiver vazio, a tarefa usará GIT se git_source estiver definida e WORKSPACE caso contrário. |
warehouse_id |
Cordão | O ID do armazém em que executar o notebook. Não há suporte para armazéns SQL clássicos. Em vez disso, use armazéns SQL sem servidor ou profissionais. Observe que os armazéns SQL suportam apenas células SQL. Se o caderno contiver células não-SQL, a execução falhará, portanto, se necessitar usar Python (ou outro) numa célula, utilize serverless. |
Examples
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 notebook é relativo ao arquivo de configuração no qual a tarefa é declarada. A tarefa obtém o notebook do local onde está implantado no espaço de trabalho do Azure Databricks.
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 de pipeline
Você usa esta tarefa para executar um pipeline. Veja Lakeflow Spark Declarative Pipelines.
As chaves a seguir estão disponíveis para uma tarefa de pipeline. Para obter a definição de objeto da API REST correspondente, consulte pipeline_task.
| Key | Tipo | Description |
|---|---|---|
full_refresh |
booleano | Se verdadeiro, uma atualização total do pipeline será iniciada, resultando no recálculo completo de todos os conjuntos de dados no pipeline. Se falsos ou omitidos, apenas os dados incrementais serão processados. Para obter detalhes, consulte Semântica de atualização de pipeline. |
pipeline_id |
Cordão | Required. O ID do pipeline para executar. O gasoduto já deve existir. |
Examples
O exemplo a seguir adiciona uma tarefa de pipeline a um trabalho. Esta tarefa executa o pipeline especificado.
Gorjeta
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.
resources:
jobs:
my-pipeline-job:
name: my-pipeline-job
tasks:
- task_key: my-pipeline-task
pipeline_task:
pipeline_id: 11111111-1111-1111-1111-111111111111
Tarefa do Power BI
Importante
O tipo de tarefa do Power BI está em Visualização Pública.
Use esta tarefa para disparar uma atualização de um modelo semântico do Power BI (anteriormente conhecido como conjunto de dados).
As chaves a seguir estão disponíveis para uma tarefa do Power BI. Para obter a definição de objeto da API REST correspondente, consulte power_bi_task.
| Key | Tipo | Description |
|---|---|---|
connection_resource_name |
Cordão | Required. O nome da conexão do Catálogo Unity para autenticar do Databricks para o Power BI. |
power_bi_model |
Cordão | Required. O nome do modelo semântico do Power BI (conjunto de dados) a ser atualizado. |
refresh_after_update |
booleano | Se o modelo semântico do Power BI deve ser atualizado após a conclusão da atualização. É definido para false por padrão. |
tables |
Sequence | Uma lista de tabelas (cada uma como um Mapa) a serem exportadas para o Power BI. Ver tabelas. |
warehouse_id |
Cordão | A ID do SQL warehouse a ser usada como fonte de dados do Power BI. |
Examples
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 Databricks a ser exportada.
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'
Tarefa de script Python
Use esta tarefa para executar um arquivo Python.
As chaves a seguir estão disponíveis para uma tarefa de script Python. Para obter a definição de objeto da API REST correspondente, consulte python_task.
| Key | Tipo | Description |
|---|---|---|
parameters |
Sequence | Os parâmetros a serem passados para o arquivo Python. Use variáveis de parâmetro de tarefa para definir parâmetros que contenham informações sobre execuções de trabalho. |
python_file |
Cordão | Required. O URI do arquivo Python a ser executado, por exemplo /Users/someone@example.com/my-script.py. Para arquivos python armazenados no espaço de trabalho 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 valor dinâmico, como variáveis. |
source |
Cordão | O tipo de localização do ficheiro Python. Os valores válidos são WORKSPACE e GIT. Quando definido como WORKSPACE, o arquivo será recuperado do espaço de trabalho local do 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 definida e WORKSPACE caso contrário. |
Examples
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 do local em que foi implantado no workspace do Azure Databricks.
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
Tarefa de roda Python
Use esta tarefa para executar uma roda Python. Consulte Criar um arquivo de roda Python usando Databricks Asset Bundles.
As teclas a seguir estão disponíveis para uma tarefa de roda do Python. Para obter a definição de objeto da API REST correspondente, consulte python_wheel_task.
| Key | Tipo | Description |
|---|---|---|
entry_point |
Cordão | Required. O ponto de entrada nomeado para executar: função ou classe. Se não existir nos metadados do pacote, ele executa a função do pacote diretamente usando $packageName.$entryPoint(). |
named_parameters |
Map | Os parâmetros nomeados para passar para a tarefa de roda do Python, também conhecidos como argumentos de palavra-chave. Um parâmetro nomeado é um par chave-valor com uma chave de texto e um valor de texto. Ambos parameters e named_parameters não podem ser especificados. Se named_parameters for especificado, parameters são passados como argumentos de palavra-chave para a função de ponto de entrada. |
package_name |
Cordão | Required. 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 |
Sequence | Os parâmetros a serem passados para a tarefa de roda do Python, também conhecidos como argumentos posicionais. Cada parâmetro é uma cadeia de caracteres. Se especificado, named_parameters não deve ser especificado. |
Examples
O exemplo a seguir adiciona uma tarefa de roda Python a um trabalho. O caminho para o ficheiro 'wheel' do Python que se pretende implementar é relativo ao ficheiro de configuração onde esta tarefa é declarada. Consulte Dependências da biblioteca Databricks Asset Bundles.
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
Executar tarefa de trabalho
Use esta tarefa para executar outra tarefa.
As chaves a seguir estão disponíveis para uma tarefa de execução. Para obter a definição de objeto da API REST correspondente, consulte run_job_task.
| Key | Tipo | Description |
|---|---|---|
job_id |
Número inteiro | Required. A ID do trabalho a ser executado. O trabalho deve já existir no espaço de trabalho. |
job_parameters |
Map | Parâmetros de nível de trabalho a serem passados para o trabalho em execução. Esses parâmetros são acessíveis dentro das tarefas do trabalho. |
pipeline_params |
Map | Parâmetros para a tarefa de pipeline. Usado somente se o trabalho que está sendo executado contiver uma tarefa de pipeline. Pode incluir full_refresh para acionar uma atualização completa do pipeline. |
Examples
O exemplo a seguir contém uma tarefa de execução no segundo trabalho que roda o primeiro trabalho.
Este exemplo utiliza uma substituição para obter o ID do trabalho a executar. Para obter o ID de um trabalho na UI, abra-o no espaço de trabalho e copie-o do valor ID do trabalho na guia Detalhes do trabalho nas configurações do 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}
Tarefa SQL
Use essa tarefa para executar um arquivo SQL, consulta ou alerta.
As chaves a seguir estão disponíveis para uma tarefa SQL. Para obter a definição de objeto da API REST correspondente, consulte sql_task.
| Key | Tipo | Description |
|---|---|---|
alert |
Map | Configuração para executar um alerta SQL. Contém:
|
dashboard |
Map | Configuração para atualizar um painel SQL. Contém:
|
file |
Map | Configuração para executar um arquivo SQL. Contém:
|
parameters |
Map | Parâmetros a serem usados para cada execução desta tarefa. Consultas e arquivos SQL podem usar esses parâmetros fazendo referência a eles com a sintaxe {{parameter_key}}. Use variáveis de parâmetro de tarefa para definir parâmetros que contenham informações sobre execuções de trabalho. |
query |
Map | Configuração para executar uma consulta SQL. Contém:
|
warehouse_id |
Cordão | Required. O ID do armazém de dados SQL a utilizar para executar a tarefa SQL. O SQL warehouse já deve existir. |
Examples
Gorjeta
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 .
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.
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 trabalho. Esta tarefa de alerta SQL usa o SQL warehouse especificado para atualizar o alerta SQL especificado.
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 trabalho. Esta tarefa de consulta SQL usa o SQL warehouse especificado para executar a consulta SQL especificada.
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 definições de tarefas permitem-lhe configurar comportamentos para todas as tarefas. Para obter as definições de objeto da API REST correspondentes, consulte tarefas.
| Key | Tipo | Description |
|---|---|---|
depends_on |
Sequence | Uma lista opcional de dependências de tarefas. Cada item contém:
|
description |
Cordão | Uma descrição opcional para a tarefa. |
disable_auto_optimization |
booleano | Se a otimização automática para esta tarefa deve ser desativada. Se for verdade, as otimizações automáticas, como a execução adaptável de consultas, serão desativadas. |
email_notifications |
Map | Um conjunto opcional de endereços de e-mail para notificar quando uma execução começa, é concluída ou falha. Cada item contém:
|
environment_key |
Cordão | A chave de um ambiente definido na configuração do trabalho environments. Usado para especificar configurações específicas do ambiente. Este campo é necessário para tarefas de script Python, roda Python e dbt ao usar computação sem servidor. |
existing_cluster_id |
Cordão | A ID de um cluster existente que será usado para todas as execuções desta tarefa. |
health |
Map | Uma especificação opcional para monitorização de saúde desta tarefa que inclui uma chave rules, que é uma lista de regras de saúde para avaliação. |
job_cluster_key |
Cordão | A chave de um cluster de trabalho definida na configuração do trabalho job_clusters. |
libraries |
Sequence | Uma lista opcional de bibliotecas a serem instaladas no cluster que executará a tarefa. Cada biblioteca é especificada como um mapa com chaves como jar, egg, whl, pypi, maven, cran, ou requirements. |
max_retries |
Número inteiro | 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 |
Número inteiro | Um intervalo mínimo opcional em milissegundos entre o início da execução com falha e a execução de repetição subsequente. Se não for especificado, o padrão será 0 (repetição imediata). |
new_cluster |
Map | Uma especificação para um novo cluster a ser criado para cada execução desta tarefa. Consulte cluster. |
notification_settings |
Map | Configurações de notificação opcionais para esta tarefa. Cada item contém:
|
retry_on_timeout |
booleano | Uma política opcional para especificar se a tarefa deve ser reexecutada quando ultrapassar o limite de tempo. Se não for especificado, o padrão será falso. |
run_if |
Cordão | Um valor opcional que indica a condição sob a qual a tarefa deve ser executada. Os valores válidos são:
|
task_key |
Cordão | Required. Um nome exclusivo para a tarefa. Este campo é usado para referenciar esta tarefa a partir de outras tarefas, usando o campo depends_on. |
timeout_seconds |
Número inteiro | 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 estiver definido, o tempo limite padrão da configuração do cluster será usado. |
webhook_notifications |
Map | Um conjunto opcional de destinos do sistema para notificar quando uma execução começa, é concluída ou falha. Cada item contém:
|