All Products
Search
Document Center

DataWorks:Best practices for setting scheduling dependencies

Last Updated:Mar 27, 2026

In DataWorks, nodes run in a specific order determined by scheduling dependencies. Each dependency links a downstream node (child) to an upstream node (parent) using the parent node's output name — not its node name. Entering the wrong name creates an invalid dependency that prevents tasks from running correctly. This document explains how to configure inputs and outputs for scheduling dependencies and how to resolve invalid dependencies.

How scheduling dependencies work

A scheduling dependency connects two nodes: the upstream node (parent) that produces data, and the downstream node (child) that consumes it. When you configure a dependency, you enter the upstream node's output name as the input of the downstream node. DataWorks validates the dependency by checking whether that output name exists.

Two methods are available to configure inputs:

Method When to use
Auto-parsing Most cases — DataWorks scans your SQL code and infers upstream and downstream relationships automatically
Manual configuration When auto-parsing produces an invalid dependency, or when a table has no generating node

Configure inputs

Use auto-parsing (recommended)

Auto Parse extracts table names from your node's code and maps them to the nodes that generate those tables.

Given the following SQL:

INSERT OVERWRITE TABLE pm_table_a SELECT * FROM project_b_name.pm_table_b;

DataWorks parses:

  • project_name.pm_table_a — output of the current node

  • project_b_name.pm_table_b — output name of the parent node

The current node is set to depend on the node in project_b_name that generates pm_table_b.

Auto-parsed dependency result

Auto-parsing follows these rules:

  • Tables whose names start with t_ are treated as temporary tables and excluded from dependency parsing. If a t_-prefixed table is not actually temporary, ask your project administrator to update the setting on the Workspace Configurations page.

  • If a table appears as both an output and a referenced table in the same code, it is parsed as an output only.

  • If a table is referenced or generated multiple times, only one dependency is parsed.

  • Select No to discard a parsed dependency that does not apply.

Workspace Configurations page

Configure inputs manually

If auto-parsing is unavailable or produces incorrect results, enter the parent node's output name directly.

Manual input configuration
Important

Enter the parent node's output name, not its node name. If the two differ, entering the node name creates an invalid dependency. To verify a dependency is valid, confirm that the Parent Node ID column contains a value.

Example: If upstream node A has the output name A1, and downstream node B depends on A, enter A1 in the input field for node B and click the plus sign (+).

Configure outputs

Apply the three-names-in-one rule

Name the node, its output, and its output table identically. This practice:

  • Makes it immediately clear which table the node operates on

  • Narrows the impact scope when a task fails — you can trace the failure directly from the output name

  • Improves auto-parsing accuracy for downstream nodes that depend on this node's output

Handle static tables

In Data Studio, some tables are populated by uploading local files rather than by a generating node. These are static tables.

Static tables have no parent node, so their auto-parsed inputs are always invalid. Delete these inputs before submitting your dependency configuration:

  1. In your code, right-click the static table name.

  2. Select Delete Input.

Delete input for static table

A table is static (not temporary) if its name does not start with t_.

Note

If you upgraded from DataWorks V1.0 to V2.0, the default output name for migrated nodes is workspace_name.node_name.

Troubleshoot invalid upstream dependencies

An upstream dependency is invalid when the output name that was parsed or entered does not correspond to an existing node.

Cause How to identify Fix
The parent node does not exist The Parent Node ID column is empty Check whether the table has output tasks
The parent node's output does not exist The dependency shows as invalid despite the node existing Find the correct output name of the node that generates the table, then enter it manually
Parent node does not existParent node output does not exist

To find the correct output name:

  1. Identify which node generates the table.

  2. Open that node and check its configured output name.

  3. Enter that output name in the input field of the dependent downstream node.

Add an upstream dependency when none exists

If a table has no upstream dependency, click Use Workspace Root Node to link it to the workspace root node.

Configure upstream dependency