All Products
Search
Document Center

DataWorks:Impacts of removing or changing the output of a node

Last Updated:Mar 06, 2025

This topic describes the operations that lead to the removal or change of the output of a node. This topic also describes the impacts of the removal or change and the solutions to related issues.

Precautions

If a node has descendant nodes, and you remove the output of the node, the following issues may occur:

  • If the descendant nodes depend only on the current node, the descendant nodes may become isolated nodes and cannot be scheduled as expected. For information about isolated nodes, see Scenario: Isolated node.

  • If you remove the output of the node before the output table of the node is generated, data quality issues may occur.

We recommend that you evaluate the impacts of changing the output of the node on your business and proceed with caution.

Operations that lead to the removal or change of the output of a node

When you create a node, the system automatically generates two outputs for the node. You can add an output to the node or enable the automatic parsing feature to allow the system to add the table that is generated by the node as the output of the node.

If you perform the following operations, the output of a node may be removed:

  • Manually remove the output of a node.

  • Disable the automatic parsing feature and do not check the output of a node. In this case, if the node code changes, the node no longer generates a specific table that corresponds to the removed output.

Note

If a node has descendant nodes and you change the output of the node, severe impacts may be generated.

示例

Impacts of removing or changing the output of a node on descendant nodes and solutions to related issues

Note

Removing the output of a node does not affect the output and table data generation of the node. The output of a node is used only to form scheduling dependencies between the node and other nodes. The logic of node code determines whether a node generates table data, regardless of whether the output of the node is removed.

If you remove or change the output of a node, the descendant nodes of the node cannot be scheduled as expected, or data quality issues occur on the descendant nodes. If the descendant nodes have strong dependencies on the node, severe impacts may occur. If you remove the output of a node that has descendant nodes, the following prompt message appears in the DataWorks console. Check the impacts on your business and proceed with caution.界面提示

  • If the descendant nodes depend only on the current node, the descendant nodes may become isolated nodes. Isolated nodes cannot be scheduled as expected.

  • If the descendant nodes depend on multiple nodes, data quality issues may occur.

    If the node has descendant nodes and you remove or change the output of the node, the descendant nodes may be severely affected. The descendant nodes may fail to run or data quality issues may occur. Take note that the output of a node automatically changes when the table that is generated by the node is changed.

  • If the node that generates table data changes, you must configure new dependencies for the descendant nodes of the node.

    You can use the automatic parsing feature to obtain the scheduling dependencies of a node based on the lineage in the node code, and configure scheduling dependencies for the node. If a node generates Table A and a descendant node B depends on Table A, the system adds Table A to Output for the current node. The ID and name of descendant node B are also displayed. If the current node no longer generates Table A due to business changes, you must identify the node from which Table A is generated and configure dependencies between descendant node B and the node that generates Table A.

Example: What do I do if the table that is generated by a node changes and the dependencies for descendant nodes become invalid?

In this example, the Node_A node generates Table A, and the descendant node Node_B needs to process the data of Table A. The system configures dependencies between Node_A and Node_B by using the automatic parsing feature. If business changes cause Table A to be generated by another node Node_C, the system configures dependencies between Node_C and Node_B.

  1. The system configures dependencies between Node_A and Node_B by using the automatic parsing feature to ensure that ancestor and descendant nodes are scheduled as expected.

    image
  2. Node_A no longer generates Table A due to business changes. In this case, the dependencies that are configured by using the automatic parsing feature between Node_A and Node_B become invalid.

    Node_B depends only on Node_A. As a result, the dependencies for Node_B become invalid. In this case, Node_B becomes an isolated node and cannot be scheduled as expected.

    image

    Node_A no longer generates Table A due to business changes.

    • If Node_B depends only on Node_A but the dependency between Node_A and Node_B becomes invalid, Node_B becomes an isolated node and cannot be scheduled.

    • If Node_B depends on another node, Node_B can be scheduled as expected but may not be able to obtain the required data.

      Note

      Table A is specified in the SELECT statement configured in the code for Node_B, but Node_B does not depend on the node that generates Table A.

    After business changes occur, the dependency between Node_A and Node_B becomes invalid.

    • Error message: No ancestor node ID or ancestor node name is specified for Node_B.

    • Cause: Node_B cannot find the node that generates Table A based on the output name of the ancestor node of Node_B.

    • Business cause: Node_A no longer generates Table A. Node_B cannot find the node that generates Table A based on the output name of Node_A.

  3. You can add Table A as the output of Node_C. This way, the system configures dependencies between Node_C and Node_B by using the automatic parsing feature.

    After you add Table A as the output of Node_C, commit and deploy Node_C to ensure that the dependency between Node_C and Node_B can be configured.

    image