Symptoms
When you submit a node, the system reports an error that the output name of a dependent ancestor node does not exist. In DataWorks, when you submit a node, the page displays the following error message: The output name test.table_1 of the dependent ancestor node for the current node does not exist. You cannot submit this node. Ensure that the ancestor node that has this output name is submitted. The error code is 1201111368. This error indicates that the system cannot find the upstream node that generates the output table xc_ods_user_info_d_133 based on the dependency that is specified by the Parent Node Output Name for the current node.
This error indicates that the specified output name is not found in the output configuration of any node. It does not mean the table itself is missing. The error can also occur if the table exists and is produced by a node, but the table has not been added as the output of that node.
Cause 1: No node produces the table
Cause
In most cases, DataWorks uses automatic parsing to add a generated table to a node's output. However, automatic parsing is not supported for tables that are not generated periodically. Examples include:
Tables uploaded to DataWorks from your local machine
dimension tables
Tables not produced by DataWorks scheduling
Tables produced by manually triggered nodes
The error occurs when a node attempts to
SELECTfrom one of these types of tables.Solution
You must manually remove scheduling dependencies on tables that are not generated periodically. In this example, you must delete the scheduling dependency where the Parent Node Output Name is
xc_ods_user_info_d_133.For detailed steps on how to remove a scheduling dependency, see Configure same-cycle scheduling dependencies.
Cause 2: Table not registered as node output
Cause
While DataWorks uses automatic parsing to add outputs for most nodes, this feature is not supported for certain node types. For node types such as batch synchronization, AnalyticDB for PostgreSQL, AnalyticDB for MySQL, and EMR, you must manually add the tables they produce as outputs.
If a downstream node tries to
SELECTfrom a table produced by one of these nodes, and the table has not been manually added to the producer node's output, this error occurs.Solution
You must manually add the table as an output of the node that produces it. In this example, you would manually add
xc_ods_user_info_d_133as the output of the node that produces it.After adding the output, you can correctly configure the scheduling dependency. For detailed instructions, see Configure same-cycle scheduling dependencies.
To prevent data issues caused by incorrect dependency configurations, DataWorks compares the inputs and outputs from the data lineage with those from the scheduling configuration when you commit a node. If they do not match, the system prompts you with a warning. For more information, see Node commit error: Input/output and data lineage mismatch.
You do not need to configure scheduling dependencies for tables that are not produced by daily DataWorks scheduling. You can delete these dependencies. When you commit the node after deleting such a dependency, the system may warn you about a mismatch between the data lineage and the scheduling configuration. If the only discrepancy is the dependency you just removed, you can safely force commit the node.
Cause 3: Duplicate node output names exist
Cause
This issue occurs when multiple nodes have the same output name, which can happen in two scenarios:
Multiple nodes produce the same table.
If multiple nodes produce the same table, the system cannot identify a unique source node when another node tries to
SELECTfrom that table. This ambiguity causes the commit to fail.A workspace contains nodes with the same name.
When you create a node, the system automatically adds two outputs. One of them follows the naming convention
workspacename.nodename. If two nodes in the same workspace have the same name, their automatically generated output names will be identical, causing this error on commit.
Solution
To resolve this, you must follow standard development and naming conventions:
A table must be produced by only one node, and this table must be registered as the node's output.
Node names must be unique within a workspace.
After making these changes, ensure that no two nodes have the same output name.