Todos los productos
Search
Centro de documentos

DataWorks:Configuración de parámetros de programación para distintos tipos de nodos

Última actualización: Sep 04, 2026

La configuración de parámetros de programación es similar en la mayoría de los tipos de nodo, como un nodo SQL de MaxCompute. Sin embargo, el proceso difiere para los nodos shell comunes y PyODPS. Este tema proporciona ejemplos de configuración para diversos tipos de nodo.

Nodos SQL y nodos de sincronización por lotes

La configuración de los nodos SQL y de sincronización por lotes representa a la mayoría de los tipos de nodo. En este ejemplo se utiliza un nodo SQL de MaxCompute para demostrar cómo asignar valores a variables del sistema integradas y a parámetros personalizados, y posteriormente hacer referencia a ellos en su código.

Nota

No todos los nodos admiten parámetros de programación. Para comprobar si un nodo específico los admite, consulte la documentación de node development.

  • Definición de parámetros

    Parámetro

    Valor

    var1

    $bizdate

    var2

    ${yyyymmdd}

    var3

    $cyctime

    var4

    ${yyyymmddhh24:mi:ss}

    var5

    abc

  • Uso de parámetros

    -- Get the data timestamp
    SELECT '${var1}' '${var2}';
    -- Get the scheduling time
    SELECT '${var3}' '${var4}';
    -- Get a constant
    SELECT '${var5}';

Después de asignar valores en la sección Scheduling Parameters, puede hacer referencia a ellos en su código. El ejemplo muestra referencias a las variables del sistema integradas var1 y var3, a los parámetros personalizados var2 y var4, y a la constante var5 con las siguientes asignaciones:

  • Asignar una marca de tiempo de datos al parámetro var1: var1=$bizdate

  • Asignar una hora de programación al parámetro var3: var3=$cyctime

  • Asignar una marca de tiempo de datos al parámetro var2: var2=${yyyymmdd}

  • Asignar una hora de programación al parámetro var4: var4=$[yyyymmddhh24:mi:ss]

  • Asignar la constante abc al parámetro var5: var5=abc

Para obtener más información, consulte Configure node scheduling parameters y Sources and expressions of scheduling parameters.

Nodo PyODPS

Para evitar la modificación directa de su código, los nodos PyODPS no admiten la sustitución de cadenas con el formato ${param_name}. En su lugar, recupere los parámetros de programación desde el objeto de diccionario global args.

  • Definición de parámetros

    Parámetro

    Valor

    var1

    $bizdate

    var2

    ${yyyymmdd}

    var3

    $[yyyymmdd]

  • Uso de parámetros

    # Custom parameter: var1 retrieves a built-in parameter value.
    a =args['var1']
    print (format(a))
    # Custom parameter: var2 retrieves a value using ${...} format.
    b =args['var2']
    print (format(b))
    # Custom parameter: var3 retrieves a value using $[...] format.
    c =args['var3']
    print (format(c))

Como se muestra en el ejemplo anterior, asigne valores en la sección Scheduling Parameters. En su código, haga referencia a los parámetros mediante el objeto de diccionario, por ejemplo, args['var1'], args['var2'] y args['var3']. A continuación se muestran las asignaciones:

  • Asignar una marca de tiempo de datos al parámetro var1: var1=$bizdate

  • Asignar una marca de tiempo de datos al parámetro var2: var2=${yyyymmdd}

  • Asignar una marca de tiempo de datos al parámetro var3: var3=$[yyyymmdd]

Para obtener más información, consulte Configure node scheduling parameters y Sources and expressions of scheduling parameters.

Nodo Python

Los nodos Python reciben los parámetros de programación como argumentos de línea de comandos. Liste los valores de los parámetros en orden dentro de la sección Scheduling Parameters; el sistema los pasará al script durante la ejecución. En el código, acceda a estos valores mediante índices como sys.argv[1] y sys.argv[2].

Nota

A diferencia de los nodos PyODPS, los nodos Python no admiten la referencia directa a parámetros por nombre, como $var1. En su lugar, los parámetros se leen posicionalmente mediante sys.argv.

  • Definición de parámetros

    En los nodos Python, asigne los valores como una lista separada por espacios. Los valores pueden ser expresiones o constantes, y se asignan a los argumentos del script según su posición.

    $[yyyymmdd] abc
  • Uso de parámetros

    import sys
    
    # Print all received parameters
    print("Current received parameters:", sys.argv)
    
    # Get the first and second parameters
    param1 = sys.argv[1]
    param2 = sys.argv[2]
    print("Parameter 1:", param1)
    print("Parameter 2:", param2)

Como se muestra en el ejemplo anterior, asigne valores a los parámetros en la sección Scheduling Parameters, separados por espacios. Posteriormente, acceda a los valores en su código mediante índices como sys.argv[1] y sys.argv[2]. A continuación se muestran las asignaciones:

  • Asignar una hora de programación al primer parámetro: $[yyyymmdd].

  • Asignar la constante abc al segundo parámetro: abc.

Para obtener más información, consulte Configure node scheduling parameters y Sources and expressions of scheduling parameters.

Nodo shell común

Los nodos shell comunes utilizan parámetros posicionales (como $1, $2 y $3) en lugar de variables con nombre. Para parámetros posteriores al noveno, utilice la sintaxis ${10}.

  • Definición de parámetros

    En los nodos shell comunes, asigne los valores como una lista separada por espacios. El orden de los valores debe corresponder al orden de los parámetros posicionales en su script.

    $bizdate ${yyyymmdd} $[yyyymmdd]
  • Uso de parámetros

    # Positional parameter: Get a built-in parameter value.
    echo $1
    # Positional parameter: Get a value using ${...} format.
    echo $2
    # Positional parameter: Get a value using $[...] format.
    echo $3

Después de asignar valores en la sección Scheduling Parameters, haga referencia a ellos en su código como parámetros posicionales $1, $2 y $3. Las asignaciones en el ejemplo son:

  • Asignar una marca de tiempo de datos al parámetro posicional $1: $bizdate

  • Asignar una marca de tiempo de datos al parámetro posicional $2: ${yyyymmdd}

  • Asignar una hora de programación al parámetro posicional $3: $[yyyymmdd]

Para obtener más información, consulte Configure node scheduling parameters y Sources and expressions of scheduling parameters.