Comparteix via


Acceso a los valores de parámetro desde una tarea

En este artículo se describe cómo obtener valores de parámetros desde el código de tus tareas, como en cuadernos de Databricks, scripts de Python y archivos SQL.

Los parámetros incluyen parámetros definidos por el usuario, valores de salida de tareas ascendentes y valores de metadatos generados por el trabajo. Consulte Parameterize jobs (Parametrización de trabajos).

Aunque los detalles varían según el tipo de tarea, hay cuatro métodos comunes que se usan para hacer referencia a los valores de parámetro del código fuente:

En cada uno de estos casos, se hace referencia a la clave del parámetro para acceder a su valor. La clave se conoce a veces como el nombre del parámetro .

Uso de dbutils en el código de un cuaderno

El código de cuaderno que se ejecuta en una tarea puede acceder a los valores de los parámetros con la biblioteca dbutils . En el ejemplo siguiente se muestra cómo usar dbutils en Python para obtener el valor de un parámetro de tarea year_param que se pasa a la tarea de cuaderno.

# Retrieve a job-level parameter
year_value = dbutils.widgets.get("year_param")

# Use the value in your code
display(babynames.filter(babynames.Year == year_value))

Se accede a los parámetros por nombre. Si tiene parámetros de tarea y parámetros de trabajo con el mismo nombre, se capturarán los parámetros de trabajo.

El código anterior genera un error cuando se ejecuta en un cuaderno independiente y no como parte de un trabajo porque los parámetros no se envían a un cuaderno independiente. Puede establecer un valor predeterminado para el year_param parámetro con el código siguiente:

# Set a default (for when not running in a job)
dbutils.widgets.text("year_param", "2012", "Year Parameter")

# Retrieve a job-level parameter (will use default if it doesn't exist)
year_value = dbutils.widgets.get("year_param")

# Use the value in your code
display(babynames.filter(babynames.Year == year_value))

Aunque esto resulta útil para realizar pruebas fuera de un trabajo, también tiene el inconveniente de ocultarse cuando los parámetros de tarea o trabajo no están configurados correctamente.

Uso de parámetros con nombre en un cuaderno de SQL

Cuando ejecuta SQL en una tarea de cuaderno, puede usar la sintaxis de parámetros con nombre para acceder a los parámetros de la tarea. Por ejemplo, para acceder a un parámetro de tarea denominado year_param, puede obtener su valor mediante :year_param en la consulta:

SELECT *
FROM baby_names_prepared
WHERE Year_Of_Birth = :year_param
GROUP BY First_Name

Acceso como argumentos de código

Para algunos tipos de tareas, los parámetros se pasan al código como argumentos. Los siguientes tipos de tareas reciben argumentos:

  • Python script
  • Python Wheel
  • JAR
  • Spark Submit

Para obtener más información, consulte Detalles por tipo de tarea, más adelante en este artículo.

En el caso de las tareas dbt, los parámetros se pasan llamando a comandos dbt en la tarea.

Usar referencias de valor dinámico al configurar una tarea

Al configurar una tarea en la interfaz de usuario de Azure Databricks, use la sintaxis de referencia de valor dinámico para acceder a los parámetros de trabajo u otros valores dinámicos. Para acceder a los parámetros de trabajo, use la sintaxis : {{job.parameters.<name>}}. Por ejemplo, al configurar una Python wheel tarea, puede establecer las entradas Clave y Valor de un parámetro para hacer referencia a un parámetro Job denominado year_param, como year / Year_{{job.parameters.year_param}}. Además de proporcionar acceso a parámetros en la configuración, los valores dinámicos también proporcionan acceso a otros datos acerca de tu trabajo o tarea, por ejemplo, {{job.id}}. Puede hacer clic {} en configuración de tareas para obtener una lista de posibles valores dinámicos e insertarlos en la configuración.

Detalles por tipo de tarea

Cuál de estos métodos que se usan depende del tipo de tarea.

Tipo de tarea Acceso en la configuración Acceso en el código
Blocs de notas Puede usar referencias de valor dinámico en la interfaz de usuario de Azure Databricks para configurar el cuaderno (por ejemplo, para hacer referencia a los parámetros de trabajo en los valores de los parámetros de tarea). Puede invalidar o agregar parámetros adicionales al ejecutar manualmente una tarea mediante la opción Ejecutar un trabajo con una configuración diferente . Puede usar parámetros con nombre para SQL en su cuaderno o dbutils.widgets en su código.
Script de Python Los parámetros definidos en la tarea se pasan como argumentos al script. Puede usar referencias de valor dinámico en el cuadro de texto Parámetros . Los parámetros se pueden leer como argumentos posicionales o analizarse mediante el módulo argparse en Python.
Paquete wheel de Python Los parámetros definidos en la definición de tarea se pasan como argumentos de palabra clave al código. Los archivos de rueda de Python deben configurarse para aceptar argumentos de palabra clave. Puede usar referencias de valor dinámico en los valores de los parámetros. Acceda al script mediante argumentos de palabras clave. Para ver un ejemplo de lectura de argumentos en un script de Python empaquetado en un archivo de rueda de Python, consulte Uso de un archivo de rueda de Python en trabajos de Lakeflow.
SQL Puede usar referencias de valor dinámico en la configuración de la tarea. Use parámetros con nombre para acceder a los valores de los parámetros.
Canalización Las canalizaciones no admiten el paso de parámetros a la tarea. No está soportado.
Tablero de mandos Las tareas de panel no admiten el paso de parámetros a la tarea. No está soportado.
Power BI Las tareas de Power BI no admiten pasar parámetros a la tarea. No está soportado.
dbt Puede usar referencias de valor dinámico para pasar parámetros en forma de comandos dbt al configurar tu tarea. Acceso como comandos de dbt.
TARRO Puede usar referencias de valor dinámico para pasar parámetros como argumentos en el cuadro de texto Parámetros al configurar la tarea. Se accede a los parámetros como argumentos para el método principal de la clase principal.
Envío de Spark Puede usar referencias de valor dinámico para pasar parámetros como argumentos en el cuadro de texto Parámetros al configurar la tarea. Se accede a los parámetros como argumentos para el método principal de la clase principal.
Ejecutar trabajo Puede usar referencias de valor dinámico para crear un conjunto de parámetros de trabajo al configurar la tarea. Los valores pueden incluir referencias de valor dinámico. No aplicable.
Condición if/else Puede usar referencias de valor dinámico al configurar la tarea, por ejemplo, en condición. No aplicable.
Para cada uno Puede usar referencias de valor dinámico al configurar las entradas de la tarea. La tarea anidada recibe una entrada como parámetro de tarea para cada iteración de la tarea anidada. Las tareas anidadas acceden a parámetros, en función del tipo de tarea.
Cuaderno de sala limpia Puede usar referencias de valor dinámico en la interfaz de usuario de Azure Databricks para configurar el cuaderno (por ejemplo, para hacer referencia a los parámetros de trabajo en los valores de los parámetros de tarea). Puede usar parámetros con nombre para SQL en su cuaderno o dbutils.widgets en su código.