Todos los productos
Search
Centro de documentos

DataWorks:Nodo de rama

Última actualización: Sep 25, 2026

Un nodo de rama es un nodo de control de flujo en Data Studio que define la lógica de ramificación y dirige la ejecución de los nodos posteriores según distintas condiciones.

Notas de uso

  • Para usar la función de nodo de rama, debe adquirir DataWorks Standard Edition o una edición superior. Para obtener más información, consulte DataWorks edition comparison.

  • Un nodo de rama admite un máximo de 50 ramas.

  • Por lo general, un nodo de rama se utiliza junto con un nodo de asignación. Para obtener más información, consulte Assignment node.

  • Si no se cumple una condición de rama durante la ejecución, los nodos posteriores de esa rama entran en estado de ejecución simulada. El registro de ejecución muestra un mensaje similar a It's set condition-skip by task.

Crear un nodo de rama

  1. Inicie sesión en la consola de DataWorks. En la región de destino, haga clic en Data Development and O&M > Data Development en el panel de navegación izquierdo. Seleccione un espacio de trabajo en la lista desplegable y haga clic en Go to Data Development.

  2. Coloque el puntero sobre el icono 新建 y elija Create Node > General > Branch Node.

    También puede abrir el flujo de trabajo de destino, hacer clic con el botón derecho en un área vacía y elegir Create Node > General > Branch Node.

  3. En el cuadro de diálogo Create Node, introduzca un nombre para el nodo y seleccione una ruta.

  4. Haga clic en Commit.

  5. Defina la lógica de ramificación.

    1. En la página Definition, haga clic en Add Branch.

    2. En el cuadro de diálogo Branch Definition, configure los parámetros.

      Parámetro

      Descripción

      Condition

      La condición que determina si esta rama se ejecuta. Tenga en cuenta las siguientes reglas:

      • Solo puede usar operadores de comparación de Python para definir la condición lógica.

      • Si la expresión se evalúa como true durante la ejecución, se cumple la condición de rama correspondiente.

      • Si ocurre un error al analizar sintácticamente la expresión durante la ejecución, falla todo el nodo de rama.

      • Puede usar variables globales y parámetros definidos en el contexto del nodo dentro de las condiciones de rama. Por ejemplo, ${input} puede ser un parámetro de entrada definido en el nodo de rama.

      Associated Node Output

      La salida que los nodos posteriores referencian para establecer dependencias:

      • Los nodos posteriores hacen referencia a esta salida para declarar dependencias.

      • Cuando se cumple una condición de rama, los nodos posteriores que dependen de la salida asociada se ejecutan, siempre que también se cumplan sus demás dependencias anteriores.

      • Si no se cumple una condición de rama, los nodos posteriores que dependen de la salida correspondiente no se ejecutan. DataWorks establece estos nodos en el estado Not run because the branch condition is not met.

      Description

      Introduzca una breve descripción de la rama. Por ejemplo, puede definir dos ramas con las condiciones ${input}==1 y ${input}>2.

      A continuación se muestra un ejemplo de cómo configurar el parámetro Associated Node Output.

      Suponga que un nodo de rama tiene dos nodos posteriores llamados qqqq y wwww. Cuando la condición de rama es 1, se ejecuta la lógica del nodo qqqq. Cuando la condición de rama es 2, se ejecuta la lógica del nodo wwww. Al configurar el nodo de rama, establezca las salidas del nodo según sus necesidades. Por ejemplo, si la salida de la rama 1 es 1234 y la de la rama 2 es 2324, ambas se usan como nombres de salida de este nodo de rama. El nodo posterior qqqq debe hacer referencia al nombre de salida 1234, y el nodo wwww debe hacer referencia al nombre de salida 2324.

    3. Haga clic en OK.

      Después de agregar una rama, puede Modify o Delete dicha rama.

      • Haga clic en Modify para modificar la configuración de la rama. DataWorks actualiza automáticamente las dependencias relacionadas.

      • Haga clic en Delete para quitar la rama. DataWorks también actualiza las dependencias relacionadas.

  6. En el panel derecho, haga clic en Scheduling Settings para configurar las propiedades de programación del nodo.

    Una vez definidas las condiciones de rama, DataWorks agrega automáticamente los nombres de salida a la sección Output Name of Current Node en la pestaña Scheduling Settings > Scheduling Dependency. Los nodos posteriores pueden usar estos nombres de salida para declarar dependencias.

    Nota
    • Dado que la propiedad de ejecución simulada se propaga a los nodos posteriores, no coloque tareas con autodependencia en una ruta de rama. Para obtener más información sobre si se debe heredar la propiedad de ejecución simulada de un nodo anterior, consulte Inherit the dry run property from upstream nodes.

    • Si crea una dependencia trazando una línea para establecer un contexto de nodo y el nombre de salida no aparece en Scheduling Settings, debe introducir manualmente el nombre de salida.

  7. Envíe y despliegue el nodo.

    1. Haga clic en el icono 保存 de la barra de herramientas para guardar el nodo.

    2. Haga clic en el icono 提交 de la barra de herramientas para enviar el nodo.

    3. En el cuadro de diálogo Submission, introduzca una Change Description.

    4. Haga clic en OK.

    Si usa un espacio de trabajo en modo estándar, debe desplegar la tarea en el entorno de producción después de enviarla. Haga clic en Deploy Task en la esquina superior izquierda de la barra de menús superior. Para obtener más información, consulte Deploy tasks.

  8. Consulte las tareas programadas.

    1. En la esquina superior derecha del editor, haga clic en O&M Personnel para abrir Operation Center del entorno de producción.

    2. Consulte las tareas programadas que se están ejecutando. Para obtener más información, consulte Manage scheduled tasks.

    Para consultar más detalles sobre las tareas programadas, haga clic en Operation Center en la barra de menús superior. Para obtener más información, consulte Operation Center overview.

Ejemplo: dependencia de un nodo posterior

Cuando un nodo posterior depende de un nodo de rama, seleccione una salida específica del nodo de rama para controlar cuándo se ejecuta dicho nodo posterior. En el siguiente flujo de trabajo, Branch 1 y Branch 2 son dos nodos posteriores del nodo de rama.下游挂载

Rama 1: depende de la salida autotest.fenzhi121902_1. En el panel Scheduling Dependency del nodo Branch 1, el valor de Output Name of Parent Node del nodo anterior se establece en autotest.fenzhi121902_1. El nombre de nodo correspondiente es branch node 121902 y el origen es Manually Added.

Rama 2: depende de la salida autotest.fenzhi121902_2.

Después de enviar el flujo de trabajo a Operation Center, suponga que se cumple la condición de rama para autotest.fenzhi121902_1. El registro muestra lo siguiente:

  • En Operational Logs, puede consultar el estado del nodo posterior cuya condición de rama se cumplió.

  • En Operational Logs, el nodo posterior cuya condición de rama no se cumplió se omite con el estado It's set condition-skip by task. Para un nodo omitido como Branch 2, su registro de ejecución muestra un mensaje en amarillo: It's set condition-skip by task(9760933771-branch node 121902). Esto indica que el nodo de rama omitió la ejecución y que la duración de ejecución fue de 0 s.

Operadores de comparación de Python compatibles

En los siguientes ejemplos se asume que la variable a es 10 y la variable b es 20.

Operador

Descripción

Ejemplo

==

Igual a: comprueba si dos objetos son iguales.

(a == b) devuelve false.

!=

Distinto de: comprueba si dos objetos no son iguales.

(a != b) devuelve true.

<>

Distinto de: comprueba si dos objetos no son iguales.

(a <> b) devuelve true. Este operador es similar a !=.

>

Mayor que: comprueba si x es mayor que y.

(a > b) devuelve false.

<

Menor que: comprueba si x es menor que y.

(a < b) devuelve true.

>=

Mayor o igual que: comprueba si x es mayor o igual que y.

(a >= b) devuelve false.

<=

Menor o igual que: comprueba si x es menor o igual que y.

(a <= b) devuelve true.