Parameterize jobs (Parametrización de trabajos)
En este artículo se proporciona información general sobre el uso de parámetros con trabajos y tareas.
A continuación se muestran conceptos fundamentales para comprender los parámetros de los trabajos:
- Parámetro de trabajo: par clave-valor definido en el nivel de trabajo e insertado en tareas. Consulte Configuración de parámetros del trabajo.
- Parámetro de tarea: par clave-valor o matriz JSON definida en el nivel de tarea. Consulte Configure task parameters (Configuración de parámetros de tarea).
- Referencias de valor dinámico: una sintaxis para hacer referencia a condiciones de trabajo, metadatos y parámetros. Consulte ¿Qué es una referencia de valores dinámicos?
- Valores de tarea: sintaxis para capturar y hacer referencia a valores generados durante las ejecuciones de tareas. Consulte Use task values to pass information between tasks (Uso de valores de tareas para pasar información entre tareas).
¿Qué puede hacer con parámetros?
Agregue parámetros a trabajos y tareas para casos de uso avanzados, incluidos los siguientes:
- Agregue lógica extensible a los recursos de código.
- Condicionalice ejecuciones.
- Haga referencia a parámetros comunes en varias tareas.
- Use la información generada en una tarea en otra tarea.
- Referencia a metadatos e información de estado en la ejecución del trabajo.
¿Cuál es la diferencia entre los parámetros de trabajo y tarea?
Los parámetros de trabajo son pares clave-valor definidos en el nivel de trabajo. Puede invalidar la configuración predeterminada para los parámetros de trabajo al Ejecutar ahora con parámetros diferentes o desencadenar una ejecución de trabajo mediante la API REST. Los parámetros de trabajo se insertan en tareas que usan parámetros clave-valor. Otras tareas pueden hacer referencia a parámetros de trabajo mediante la referencia de valor dinámico.
Los parámetros de tarea son pares clave-valor o matrices JSON definidas en el nivel de tarea. Cada tipo de tarea pasa valores de tarea a los recursos de código configurados de forma diferente. Por ejemplo, las tareas del cuaderno usan el submódulo dbutils.widgets
, mientras que los scripts de Python pasan valores como argumentos al script como si se llamara desde la línea de comandos. Las tareas de bajada pueden hacer referencia a parámetros de tarea de tareas ascendentes mediante referencias de valor dinámico.
Nota:
Algunas tareas no tienen un campo Parámetros dedicado, pero permiten referencias a valores de tarea o referencias de valor dinámico dentro de otros campos. Consulte Ejemplos de comandos DBT parametrizados y Adición de lógica de bifurcación a un trabajo con la tarea If/else.
Creación de flujos de trabajo mediante valores dinámicos
Los parámetros de tarea establecidos con valores estáticos solo se pueden invalidar actualizando la definición de la tarea. Establecer un valor estático para un parámetro de trabajo es simplemente configurar un valor predeterminado, que puede invalidar al Ejecutar ahora con parámetros diferentes o desencadenar una ejecución de trabajo mediante la API REST.
Use referencias de valor dinámico al definir parámetros de tarea para implementar patrones como los siguientes:
- Use un parámetro de trabajo como
output_table
para una tarea yinput_table
para otra. - Capture la salida de una consulta de cuaderno como una lista y recorra en bucle una tarea For each.
- Crear lógica de bifurcación basada en el número de registros procesados mediante una tarea de condición If/else.
- Consulte los parámetros de otras tareas.