Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
En esta página se proporciona información sobre cómo definir tareas de trabajo en Conjuntos de recursos de Databricks. Para obtener información sobre las tareas de trabajo, consulte Configuración y edición de tareas en trabajos de Lakeflow.
Importante
No se recomienda configurar el campo de trabajo git_source en source y el campo de tarea GIT para los paquetes, ya que es posible que las rutas de acceso relativas locales no apunten al mismo contenido en el repositorio de Git. Las agrupaciones esperan que un trabajo implementado tenga los mismos archivos que la copia local desde donde se implementó.
En su lugar, clone el repositorio localmente y configure el proyecto de agrupación dentro de este repositorio, de modo que el origen de las tareas sea el área de trabajo.
Configurar tareas
Defina tareas para un trabajo en un paquete en la clave tasks para la definición del trabajo. Algunos ejemplos de configuración de tareas para los tipos de tareas disponibles se encuentra en la sección Configuración de tareas. Para obtener información sobre cómo definir un trabajo en una agrupación, consulte trabajo.
Sugerencia
Para generar rápidamente la configuración de recursos para un trabajo existente mediante el Databricks CLI, puede usar el comando bundle generate job. Vea comandos de agrupación.
Para establecer valores de tarea, la mayoría de los tipos de tareas de trabajo tienen parámetros específicos de la tarea, pero también puede definir parámetros de trabajo que se pasan a las tareas. Las referencias de valor dinámico se admiten para los parámetros de trabajo, que permiten pasar valores específicos del trabajo que se ejecutan entre tareas. Para obtener información completa sobre cómo pasar valores de tarea por tipo de tarea, vea Detalles por tipo de tarea.
También puede invalidar la configuración general de tareas de trabajo con la configuración de un área de trabajo de destino. Consulte Invalidación con la configuración de destino.
La siguiente configuración de ejemplo define un trabajo con dos tareas de cuaderno y pasa un valor de tarea de la primera tarea a la segunda tarea.
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}}'
output_notebook.ipynb contiene el código siguiente, que establece un valor de tarea para la message clave:
# 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}")
input_notebook.ipynb recupera el valor del parámetro received_message, que se estableció en la configuración de la tarea:
# 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}")
Configuración de tareas
Esta sección contiene opciones de configuración y ejemplos para cada tipo de tarea de trabajo.
Tarea del cuaderno de sala limpia
La tarea de bloc de notas de sala limpia ejecuta un bloc de notas de sala limpia cuando el campo clean_rooms_notebook_task está presente. Para obtener información sobre las salas limpias, consulte ¿Qué es Azure Databricks Clean Rooms?.
Las siguientes claves están disponibles para una tarea de bloc de notas de salas limpias. Para obtener la definición de objeto de la API REST correspondiente, consulte clean_rooms_notebook_task.
| Key | Tipo | Description |
|---|---|---|
clean_room_name |
String | Obligatorio. Sala limpia a la que pertenece el bloc de notas. |
etag |
String | Suma de comprobación para validar la vigencia del recurso del cuaderno. Se puede obtener mediante la realización de la operación de obtención de recursos de sala limpia. |
object |
Mapa | Parámetros base que se usarán para el trabajo del cuaderno de sala limpia. |
notebook_name |
String | Obligatorio. Nombre del cuaderno que se está ejecutando. |
Condición de tarea
condition_task permite agregar una tarea con lógica condicional if/else al trabajo. La tarea evalúa una condición que se puede usar para controlar la ejecución de otras tareas. La tarea de condición no requiere que un clúster se ejecute y no admita reintentos ni notificaciones. Para obtener más información sobre la tarea de condición if/else, vea Agregar lógica de bifurcación a un trabajo con la tarea If/else.
Las siguientes teclas están disponibles para una tarea condicional. Para obtener la definición de objeto de la API REST correspondiente, consulte condition_task.
| Key | Tipo | Description |
|---|---|---|
left |
String | Obligatorio. Operando izquierdo de la condición. Puede ser un valor de cadena o un estado de trabajo o una referencia de valor dinámico como {{job.repair_count}} o {{tasks.task_key.values.output}}. |
op |
String | Obligatorio. Operador que se va a usar para la comparación. Los valores válidos son: EQUAL_TO, NOT_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THANLESS_THAN_OR_EQUAL. |
right |
String | Obligatorio. Operando derecho de la condición. Puede ser un valor de cadena o un estado de trabajo o una referencia de valor dinámico. |
Examples
El ejemplo siguiente contiene una tarea de condición y una tarea de cuaderno, donde la tarea del cuaderno solo se ejecuta si el número de reparaciones de trabajos es inferior a 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
Tarea del panel de control
Esta tarea se usa para actualizar un panel y enviar una instantánea a los suscriptores. Para obtener más información sobre los paneles de control en paquetes, consulte panel de control.
Las siguientes claves están disponibles para una tarea de panel. Para obtener la definición de objeto de la API REST correspondiente, consulte dashboard_task.
| Key | Tipo | Description |
|---|---|---|
dashboard_id |
String | Obligatorio. Identificador del panel que se va a actualizar. El panel ya debe existir. |
subscription |
Mapa | Configuración de la suscripción para enviar la instantánea del panel. Cada objeto de suscripción puede especificar la configuración de destino para dónde enviar instantáneas una vez completada la actualización del panel. Consulte suscripción. |
warehouse_id |
String | Identificador de almacenamiento con el que se va a ejecutar el panel para la programación. Si no se especifica, se usará el almacenamiento predeterminado del panel. |
Examples
En el ejemplo siguiente se agrega una tarea del panel de control a un trabajo. Cuando se ejecuta el trabajo, se actualiza el panel con el identificador especificado.
resources:
jobs:
my-dashboard-job:
name: my-dashboard-job
tasks:
- task_key: my-dashboard-task
dashboard_task:
dashboard_id: 11111111-1111-1111-1111-111111111111
tarea dbt
Esta tarea se usa para ejecutar uno o varios comandos dbt. Para más información sobre dbt, consulte Conexión a dbt Cloud.
Las claves siguientes están disponibles para una tarea dbt. Para obtener la definición de objeto de LA API REST correspondiente, consulte dbt_task.
| Key | Tipo | Description |
|---|---|---|
catalog |
String | Nombre del catálogo que se va a usar. El valor del catálogo solo se puede especificar si se especifica un warehouse_id. Este campo requiere dbt-databricks >= 1.1.1. |
commands |
Sequence | Obligatorio. Lista de comandos dbt que se van a ejecutar en secuencia. Cada comando debe ser un comando dbt completo (por ejemplo, dbt deps, dbt seed, dbt run, dbt test). Se puede proporcionar un máximo de hasta 10 comandos. |
profiles_directory |
String | Ruta de acceso al directorio que contiene el archivo dbt profiles.yml. Solo se puede indicar si no se especifica ningún warehouse_id. Si no se especifica warehouse_id y esta carpeta no está establecida, se usa el directorio raíz. |
project_directory |
String | Ruta de acceso al directorio que contiene el proyecto dbt. Si no se especifica, se establecerá por defecto a la raíz del repositorio o del directorio de área de trabajo. En el caso de los proyectos almacenados en el área de trabajo de Databricks, la ruta de acceso debe ser absoluta y comenzar con una barra diagonal. En el caso de los proyectos de un repositorio remoto, la ruta de acceso debe ser relativa. |
schema |
String | Esquema en el que se va a escribir. Este parámetro solo se usa cuando también se proporciona un warehouse_id. Si no se proporciona, se usa el esquema predeterminado. |
source |
String | Tipo de ubicación del proyecto dbt. Los valores válidos son WORKSPACE y GIT. Cuando se establece en WORKSPACE, el proyecto se recuperará del área de trabajo de Databricks. Cuando se establece GIT en, el proyecto se recuperará de un repositorio de Git definido en git_source. Si está vacía, la tarea usa GIT si git_source está definido y WORKSPACE en caso contrario. |
warehouse_id |
String | El identificador del SQL Warehouse para usar al ejecutar comandos dbt. Si no se especifica, se usará el almacén predeterminado. |
Examples
En el ejemplo siguiente se agrega una tarea dbt a un trabajo. Esta tarea dbt usa el almacenamiento SQL especificado para ejecutar los comandos dbt especificados.
Para obtener el identificador de un almacén de SQL, abra la página de configuración de SQL Warehouse y, a continuación, copie el identificador que se encuentra entre paréntesis después del nombre del almacén en el campo Nombre de la pestaña Información general .
Sugerencia
Databricks Asset Bundles también incluye una plantilla de proyecto dbt-sql que define un trabajo con una tarea dbt, así como perfiles de dbt para trabajos dbt implementados. Para obtener información sobre las plantillas de conjuntos de activos de Databricks, consulte Plantillas de agrupación predeterminadas.
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 tarea
for_each_task permite agregar una tarea con un bucle for each al trabajo. La tarea ejecuta una tarea anidada para cada entrada proporcionada. Para obtener más información sobre for_each_task, vea Usar una For each tarea para ejecutar otra tarea en un bucle.
Las siguientes teclas están disponibles para un for_each_task. Para obtener la definición de objeto de la API REST correspondiente, consulte for_each_task.
| Key | Tipo | Description |
|---|---|---|
concurrency |
Integer | Número máximo de iteraciones de tareas que se pueden ejecutar simultáneamente. Si no se especifica, todas las iteraciones se pueden ejecutar en paralelo en función de los límites del clúster y del área de trabajo. |
inputs |
String | Obligatorio. Los datos de entrada del bucle. Puede ser una cadena JSON o una referencia a un parámetro de matriz. Cada elemento de la matriz se pasará a una iteración de la tarea anidada. |
task |
Mapa | Obligatorio. Definición de tarea anidada que se va a ejecutar para cada entrada. Este objeto contiene la especificación de tarea completa, incluido task_key y el tipo de tarea (por ejemplo, notebook_task, python_wheel_task, etc.). |
Examples
En el ejemplo siguiente se agrega un for_each_task a un trabajo, donde hace un bucle sobre los valores de otra tarea y los procesa.
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
Tarea JAR
Esta tarea se usa para ejecutar un archivo JAR. Puede hacer referencia a bibliotecas JAR locales o a las de un área de trabajo, un volumen de catálogo de Unity o una ubicación de almacenamiento en la nube externa. Consulte archivo JAR (Java o Scala).
Para más información sobre cómo compilar e implementar archivos JAR de Scala en un clúster habilitado para el catálogo de Unity en modo de acceso estándar, consulte Tutorial: Ejecución de código Scala en proceso sin servidor.
Las siguientes claves están disponibles para una tarea JAR. Para obtener la definición de objeto de la API REST correspondiente, consulte jar_task.
| Key | Tipo | Description |
|---|---|---|
jar_uri |
String | Deprecated. Identificador URI del ARCHIVO JAR que se va a ejecutar. DBFS y rutas de acceso de almacenamiento en la nube son compatibles. Este campo está en desuso y no debe usarse. En su lugar, use el libraries campo para especificar dependencias JAR. |
main_class_name |
String | Obligatorio. Nombre completo de la clase que incluye el método principal que se va a ejecutar. Esta clase debe estar contenida en un archivo JAR que se proporciona como una biblioteca. El código debe usar SparkContext.getOrCreate para obtener un contexto de Spark; de lo contrario, se producirá un error en las ejecuciones del trabajo. |
parameters |
Sequence | Parámetros pasados al método principal. Use variables de parámetros de tarea para establecer parámetros que contengan información sobre las ejecuciones de trabajos. |
Examples
En el ejemplo siguiente se agrega una tarea JAR a un trabajo. La ruta de acceso del archivo JAR es hacia una ubicación de almacenamiento.
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
Tarea de cuaderno
Esta tarea se usa para ejecutar un cuaderno. Consulte Tarea de cuaderno para trabajos.
Las siguientes claves están disponibles para una tarea de cuaderno. Para obtener la definición de objeto de LA API REST correspondiente, consulte notebook_task.
| Key | Tipo | Description |
|---|---|---|
base_parameters |
Mapa | Parámetros base que se usarán para cada ejecución de este trabajo.
|
notebook_path |
String | Obligatorio. Ruta de acceso del cuaderno en el área de trabajo de Databricks o repositorio remoto, por ejemplo /Users/user.name@databricks.com/notebook_to_run. En el caso de los cuadernos almacenados en el área de trabajo de Databricks, la ruta de acceso debe ser absoluta y comenzar con una barra diagonal. En el caso de los cuadernos almacenados en un repositorio remoto, la ruta de acceso debe ser relativa. |
source |
String | Tipo de ubicación del cuaderno. Los valores válidos son WORKSPACE y GIT. Cuando se establece en WORKSPACE, el cuaderno se recuperará del área de trabajo local de Databricks. Cuando se establece en GIT, el bloc de notas se recuperará de un repositorio de Git que se define en git_source. Si el valor está vacío, la tarea usará GIT si git_source se define y WORKSPACE de lo contrario. |
warehouse_id |
String | Identificador del almacén en el que se va a ejecutar el cuaderno. No se admiten almacenes de SQL clásicos. En su lugar, use almacenes SQL sin servidor o pro. Tenga en cuenta que los almacenes de SQL solo admiten celdas SQL. Si el cuaderno contiene celdas que no son de SQL, se producirá un error en la ejecución, por lo que si necesita usar Python (u otro) en una celda, use sin servidor. |
Examples
En el ejemplo siguiente se agrega una tarea de cuaderno a un trabajo y se establece un parámetro de trabajo denominado my_job_run_id. La ruta de acceso del cuaderno que se va a implementar es relativa al archivo de configuración en el que se declara esta tarea. La tarea obtiene el cuaderno de su ubicación implementada en el área de trabajo de 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}}'
Tarea de canalización
Usas esta tarea para ejecutar una canalización. Vea las canalizaciones declarativas de Lakeflow Spark.
Las siguientes claves están disponibles para una tarea de canalización. Para obtener la definición de objeto de la API REST correspondiente, consulte pipeline_task.
| Key | Tipo | Description |
|---|---|---|
full_refresh |
Boolean | Si es verdadero, se desencadenará una actualización completa del flujo de trabajo, que recalculará por completo todos los conjuntos de datos del flujo de trabajo. Si es falso o está omitido, solo se procesarán los datos incrementales. Para más información, consulte Semántica de actualización de tubería. |
pipeline_id |
String | Obligatorio. Identificador de la canalización que se va a ejecutar. La canalización ya debe existir. |
Examples
En el ejemplo siguiente se agrega una tarea de canalización a un trabajo. Esta tarea ejecuta la canalización especificada.
Sugerencia
Para obtener el ID de una canalización, abra la canalización en el área de trabajo y copie el valor ID de canalización en la pestaña Detalles de canalización de la página de configuración de la canalización.
resources:
jobs:
my-pipeline-job:
name: my-pipeline-job
tasks:
- task_key: my-pipeline-task
pipeline_task:
pipeline_id: 11111111-1111-1111-1111-111111111111
Tarea de Power BI
Importante
El tipo de tarea de Power BI está en versión preliminar pública.
Use esta tarea para desencadenar una actualización de un modelo semántico de Power BI (anteriormente conocido como conjunto de datos).
Las siguientes claves están disponibles para una tarea de Power BI. Para obtener la definición de objeto de la API REST correspondiente, consulte power_bi_task.
| Key | Tipo | Description |
|---|---|---|
connection_resource_name |
String | Obligatorio. Nombre de la conexión del catálogo de Unity para autenticarse desde Databricks a Power BI. |
power_bi_model |
String | Obligatorio. Nombre del modelo semántico de Power BI (conjunto de datos) que se va a actualizar. |
refresh_after_update |
Boolean | Indica si se debe actualizar el modelo semántico de Power BI una vez completada la actualización. El valor predeterminado es False. |
tables |
Sequence | Lista de tablas (cada una como mapa) que se exportarán a Power BI. Consulte tablas. |
warehouse_id |
String | El identificador del almacén SQL que se va a usar como origen de datos de Power BI. |
Examples
En el ejemplo siguiente se define una tarea de Power BI, que especifica una conexión, el modelo de Power BI que se va a actualizar y la tabla de Databricks que se va a exportar.
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'
Tarea de script de Python
Esta tarea se usa para ejecutar un archivo de Python.
Las siguientes claves están disponibles para una tarea de script de Python. Para obtener la definición de objeto de la API REST correspondiente, consulte python_task.
| Key | Tipo | Description |
|---|---|---|
parameters |
Sequence | Parámetros que se van a pasar al archivo de Python. Use variables de parámetros de tarea para establecer parámetros que contengan información sobre las ejecuciones de trabajos. |
python_file |
String | Obligatorio. El URI del archivo de Python que se va a ejecutar, por ejemplo, /Users/someone@example.com/my-script.py. Para los archivos de Python almacenados en el área de trabajo de Databricks, la ruta de acceso debe ser absoluta y comenzar con /. Para los archivos almacenados en un repositorio remoto, la ruta de acceso debe ser relativa. Este campo no admite referencias de valor dinámico como variables. |
source |
String | Tipo de ubicación del archivo de Python. Los valores válidos son WORKSPACE y GIT. Cuando se establece en WORKSPACE, el archivo se recuperará del área de trabajo local de Databricks. Cuando se establece en GIT, el archivo se recuperará de un repositorio de Git definido en git_source. Si el valor está vacío, la tarea usará GIT si git_source se define y WORKSPACE de lo contrario. |
Examples
En el ejemplo siguiente se agrega una tarea de script de Python a un trabajo. La ruta de acceso del archivo de Python que se va a implementar es relativa al archivo de configuración en el que se declara esta tarea. La tarea obtiene el archivo de Python de su ubicación implementada en el área de trabajo de 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
Tarea de paquete wheel de Python
Esta tarea se usa para ejecutar una rueda de Python. Consulte Cree un archivo wheel de Python usando conjuntos de recursos de Databricks.
Las siguientes claves están disponibles para una tarea de rueda de Python. Para obtener la definición de objeto de LA API REST correspondiente, consulte python_wheel_task.
| Key | Tipo | Description |
|---|---|---|
entry_point |
String | Obligatorio. Punto de entrada con nombre para ejecutar: una función o una clase. Si no existe en los metadatos del paquete, ejecuta la función desde el paquete directamente mediante $packageName.$entryPoint(). |
named_parameters |
Mapa | Los parámetros con nombre que se van a pasar a la tarea rueda de Python, también conocidos como argumentos de palabra clave. Un parámetro con nombre es un par clave-valor con una clave de cadena y un valor de cadena. Ni parameters ni named_parameters pueden especificarse. Si named_parameters se especifica , parameters se pasan como argumentos de palabra clave a la función de punto de entrada. |
package_name |
String | Obligatorio. Nombre del paquete de Python que se va a ejecutar. Todas las dependencias deben instalarse en el entorno. Esto no comprueba ni instala ninguna dependencia de paquete. |
parameters |
Sequence | Parámetros que se pasan al paquete wheel de Python, también conocidos como argumentos posicionales. Cada parámetro es una cadena. Si se especifica, named_parameters no se debe especificar. |
Examples
En el ejemplo siguiente se agrega una tarea de paquete wheel de Python a un trabajo. La ruta de acceso del archivo de paquete wheel de Python que se va a implementar es relativa al archivo de configuración en el que se declara esta tarea. Consulte Dependencias de la biblioteca de conjuntos de recursos de Databricks.
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
Ejecutar tarea de trabajo
Esta tarea se usa para ejecutar otro trabajo.
Las siguientes claves están disponibles para una tarea de ejecución. Para obtener la definición de objeto de LA API REST correspondiente, consulte run_job_task.
| Key | Tipo | Description |
|---|---|---|
job_id |
Integer | Obligatorio. Identificador del trabajo que se va a ejecutar. El trabajo ya debe existir en el entorno de trabajo. |
job_parameters |
Mapa | Parámetros de nivel de trabajo que se van a pasar al trabajo que se está ejecutando. Estos parámetros son accesibles dentro de las tareas del trabajo. |
pipeline_params |
Mapa | Parámetros de la tarea de canalización. Solo se usa si el trabajo que se ejecuta contiene una tarea de canalización. Puede incluir full_refresh para desencadenar una actualización completa de la canalización. |
Examples
El ejemplo siguiente contiene una tarea de trabajo de ejecución en el segundo trabajo que ejecuta el primer trabajo.
En este ejemplo, se utiliza una sustitución para recuperar el identificador del trabajo que se va a ejecutar. Para obtener el identificador de un trabajo de la interfaz de usuario, abra el trabajo en el área de trabajo y copie el ID del valor ID de trabajo en la pestaña Detalles del trabajo de la página de configuración del trabajo.
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}
Tarea SQL
Esta tarea se usa para ejecutar un archivo SQL, una consulta o una alerta.
Las claves siguientes están disponibles para una tarea SQL. Para obtener la definición de objeto de la API REST correspondiente, consulte sql_task.
| Key | Tipo | Description |
|---|---|---|
alert |
Mapa | Configuración para ejecutar una alerta de SQL. Contiene:
|
dashboard |
Mapa | Configuración para actualizar un panel de SQL. Contiene:
|
file |
Mapa | Configuración para ejecutar un archivo SQL. Contiene:
|
parameters |
Mapa | Parámetros que se usarán para cada ejecución de esta tarea. Las consultas y archivos SQL pueden usar estos parámetros haciendo referencia a ellos con la sintaxis {{parameter_key}}. Use variables de parámetros de tarea para establecer parámetros que contengan información sobre las ejecuciones de trabajos. |
query |
Mapa | Configuración para ejecutar una consulta SQL. Contiene:
|
warehouse_id |
String | Obligatorio. Identificador del almacén de SQL que se va a usar para ejecutar la tarea SQL. El almacenamiento de SQL ya debe existir. |
Examples
Sugerencia
Para obtener el identificador de un almacén de SQL, abra la página de configuración de SQL Warehouse y, a continuación, copie el identificador que se encuentra entre paréntesis después del nombre del almacén en el campo Nombre de la pestaña Información general .
En el ejemplo siguiente se agrega una tarea de archivo SQL a un trabajo. Esta tarea de archivo SQL usa el almacenamiento SQL especificado para ejecutar el archivo 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
En el ejemplo siguiente se agrega una tarea de alerta de SQL a un trabajo. Esta tarea de alerta de SQL usa el almacén de SQL especificado para actualizar la alerta SQL especificada.
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
En el ejemplo siguiente se agrega una tarea de consulta SQL a un trabajo. Esta tarea de consulta SQL usa el almacenamiento SQL especificado para ejecutar la 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
Otras opciones de configuración de tareas
La siguiente configuración de tareas le permite configurar comportamientos para todas las tareas. Para obtener las definiciones de objetos de la API REST correspondientes, consulte tareas.
| Key | Tipo | Description |
|---|---|---|
depends_on |
Sequence | Lista opcional de dependencias de tareas. Cada elemento contiene:
|
description |
String | Descripción opcional de la tarea. |
disable_auto_optimization |
Boolean | Si se deshabilita la optimización automática para esta tarea. Si es true, se deshabilitarán las optimizaciones automáticas como la ejecución de consultas adaptables. |
email_notifications |
Mapa | Un conjunto opcional de direcciones de correo electrónico para notificar cuándo comienza una ejecución, se completa o se produce un error. Cada elemento contiene:
|
environment_key |
String | La clave de un entorno, definida en la configuración environments del trabajo. Se usa para especificar la configuración específica del entorno. Este campo es necesario para las tareas de script de Python, rueda de Python y dbt al usar el proceso sin servidor. |
existing_cluster_id |
String | Identificador de un clúster existente que se usará para todas las ejecuciones de esta tarea. |
health |
Mapa | Especificación opcional para el monitoreo de salud de esta tarea que incluye una clave de salud rules, que es una lista de reglas de salud que se van a evaluar. |
job_cluster_key |
String | Clave de un clúster de trabajos definido en la configuración del trabajo job_clusters. |
libraries |
Sequence | Lista opcional de bibliotecas que se van a instalar en el clúster que ejecutará la tarea. Cada biblioteca se especifica como un mapa con claves como jar, egg, whl, pypi, maven, cran o requirements. |
max_retries |
Integer | Número máximo opcional de veces para reintentar la tarea si se produce un error. Si no se especifica, la tarea no se volverá a intentar. |
min_retry_interval_millis |
Integer | Intervalo mínimo opcional en milisegundos entre el inicio de la ejecución con errores y la posterior ejecución de reintento. Si no se especifica, el valor predeterminado es 0 (reintento inmediato). |
new_cluster |
Mapa | Especificación de un nuevo clúster que se va a crear para cada ejecución de esta tarea. Consulte el clúster. |
notification_settings |
Mapa | Configuración de notificación opcional para esta tarea. Cada elemento contiene:
|
retry_on_timeout |
Boolean | Directiva opcional para especificar si se reintenta la tarea cuando se agota el tiempo de espera. Si no se especifica, el valor predeterminado es false. |
run_if |
String | Valor opcional que indica la condición en la que se debe ejecutar la tarea. Los valores válidos son:
|
task_key |
String | Obligatorio. Un nombre único para la tarea. Este campo se usa para hacer referencia a esta tarea desde otras tareas mediante el depends_on campo . |
timeout_seconds |
Integer | Tiempo de espera opcional aplicado a cada ejecución de esta tarea. Un valor de 0 significa que no se ha agotado el tiempo de espera. Si no se establece, se usa el tiempo de espera predeterminado de la configuración del clúster. |
webhook_notifications |
Mapa | Un conjunto opcional de destinos del sistema que se notificará cuando se inicia, se completa o se produce un error en una ejecución. Cada elemento contiene:
|