The directed acyclic graph (DAG) in Operation Center visualizes the upstream and downstream dependencies of your nodes. It also provides features like node aggregation, upstream analysis, and downstream analysis to improve operational efficiency. This topic describes the features of the DAG view.
Limitations
The node aggregation, upstream analysis, and downstream analysis features in the DAG view are available only in DataWorks Professional Edition or higher. For more information about how to upgrade your edition, see Editions and billing.
DAG features
Click DAG next to a node to open its DAG view. The DAG interface has a central canvas that displays the node graph, a node list on the left for selecting nodes, and controls for features like node aggregation, upstream analysis, and downstream analysis at the top. You can perform the following operations in the DAG view. This topic uses an auto triggered instance as an example.
-
Node aggregation
If an auto triggered instance has a large number of nodes or dependency levels, you can aggregate nodes by dimensions such as node status, workspace, owner, or priority to view the count of nodes for a specific dimension. This helps you understand node distribution and manage execution more effectively. The following examples show the display when nodes are Not Aggregate and when they are aggregated by priority.
NoteYou can aggregate nodes by status only in an instance's DAG. An instance can be an auto triggered instance, a data backfill instance, or a test instance.
-
When nodes are not aggregated, each node is displayed individually in the DAG. Each node shows its name and type, such as virtual node, ODPS SQL, or batch synchronization. Lines between nodes indicate dependencies. A message at the bottom indicates the current view contains 10 nodes across 8 dependency levels.
-
When nodes are aggregated by priority, the display is as follows. You can quickly see that the current node has 6 child nodes with a priority of 1. The aggregated DAG shows the dependency path, starting from fanyi_test_root (virtual node) at the top, passing through User Behavior Analysis Case Description (virtual node), table_ddl_ods_raw_log_d (ODPS SQL), two aggregated groups each containing two nodes, then to dws_user_info_all_di (ODPS SQL), ads_user_info_1d (ODPS SQL), and finally to User Behavior Analysis Result Query (ODPS SQL). Arrows between the nodes indicate scheduling dependencies. The left panel lists all task names, and you can select nodes by using checkboxes.
-
-
Upstream analysis
If a node has been pending for a long time, you can perform an upstream analysis. This reveals the blocking upstream nodes, allowing you to quickly locate and resolve runtime errors to improve execution efficiency.
Note-
You can use the upstream analysis feature only in the DAG of an instance. An instance can be an auto triggered instance, a data backfill instance, or a test instance.
-
You can perform an Upstream Analysis only on nodes that are not running. A maximum of six levels are displayed. If you want to view more levels, click Continue Analysis in the upper-left corner.
-
Upstream analysis helps you quickly find the ancestor nodes that the current node depends on but have not successfully run. These nodes might be in the Running, Failed, Pending (Time), Pending (Resource), or Frozen state. Ancestor nodes in these states block downstream execution.
If an example node has not run for a long time, you can select the node and click Upstream Analysis in the upper-left corner. The analysis result shows that the blocking upstream node is the
old_work_rootnode. With this result, you can quickly locate the blocking node and handle any related errors.NoteNext steps:
-
After you locate the key instance, you can filter by an aggregation dimension to view the workspace or owner of the key instance that affects the data output of the current node. This improves operational efficiency.
-
After you locate the blocking instance, you can also right-click it and select Run Diagnostics to quickly analyze why it has not run successfully. For more information, see Intelligent diagnosis.
In the upstream analysis results, old_work_root is a virtual node, and its downstream dependent node is the sd node of the ODPS SQL type.
-
-
Downstream analysis
By default, the DAG view displays three levels: the current node, its immediate ancestor nodes (one level up), and its immediate descendant nodes (one level down). When an auto triggered instance has a large number of nodes or levels, it can be difficult to see the full scope of impact. You can use the downstream analysis feature to filter by criteria such as node status, workspace, owner, or priority. This helps you count the number of nodes at different levels or the total number of nodes across all levels for a specific dimension.
Note-
Merged or layered view in an aggregated state: After you click Downstream Analysis, nodes are aggregated by owner by default, and the total number of nodes for that dimension across all levels is calculated.
-
Grouped view without aggregation: If there are more than 10 downstream nodes, they are displayed in groups by default. This view provides a more intuitive understanding of the nodes' business impact.
-
Ungrouped view: In the non-aggregated view, you can click Ungroup to expand the grouped nodes. This allows you to see the upstream and downstream relationships of all nodes.
-
The Layer view for a Downstream Analysis shows a maximum of six levels. To view more levels, click Continue Analysis in the upper-left corner.
The following example shows the results of performing a Downstream Analysis on the tag node:
-
Merged view: Merges the analyzed downstream nodes based on the current aggregation dimension. In a non-aggregated state, downstream nodes are displayed in groups. In this example, the Merge method is used and nodes are aggregated by workspace. All downstream nodes are merged into a single layer, showing the number of nodes belonging to different workspaces. After you click the Merged button in the DAG view, the downstream analysis result for the tag node is displayed in merged mode. The seven downstream nodes are shown in aggregated groups, with each group containing a different number of descendant nodes. The status bar at the bottom indicates that 42 nodes and 5 levels are currently displayed.
-
Layered view: Displays the analyzed downstream nodes by dependency level based on the current aggregation dimension. In this example, the Layer method is used and nodes are aggregated by workspace, showing the number of nodes in different workspaces at different levels. After you select the DAG view and click the Layered button, the downstream nodes are arranged from top to bottom by level. Each level shows the number of nodes it contains, and the bottom of the page displays the total number of nodes and levels shown (for example, "42 nodes and 5 levels are displayed").
-
-
DAG display styles
You can click the function icons in the upper-right corner of the DAG view to adjust its display style. For example, you can use Toggle Full Screen View or Fit Screen.
The following examples show the DAG for the downstream nodes of a node in Ungroup and Group views.
-
Ungroup DAG: This view helps you clearly understand the upstream and downstream relationships of all nodes. In ungrouped mode, each downstream node is displayed as an individual card arranged by dependency level, showing a total of 15 nodes and 2 levels. You can click the Snapshot icon in the right-side toolbar to save the current DAG as an image.
-
Group DAG: This view displays downstream nodes in an orderly manner, with five nodes per row, making it easy to quickly see the total number of downstream nodes.
-
Ungroup DAG: This view helps you clearly understand the upstream and downstream relationships of all nodes. In ungrouped mode, each downstream node is displayed as an individual card arranged by dependency level, showing a total of 15 nodes and 2 levels. You can click the Snapshot icon in the right-side toolbar to save the current DAG as an image.
-
Group DAG: This view displays downstream nodes in an orderly manner, with five nodes per row, making it easy to quickly see the total number of downstream nodes.
-
-
Ungroup DAG: This view helps you clearly understand the upstream and downstream relationships of all nodes. In ungrouped mode, each downstream node is displayed as an individual card arranged by dependency level, showing a total of 15 nodes and 2 levels. You can click the Snapshot icon in the right-side toolbar to save the current DAG as an image.
-
Group DAG: This view displays downstream nodes in an orderly manner, with five nodes per row, making it easy to quickly see the total number of downstream nodes.
The DAG shows the upstream and downstream dependencies between nodes. A solid line indicates a same-cycle dependency, and a dashed line indicates a cross-cycle dependency. You can also right-click a node to perform operations.
|
Actions |
Description |
|
Show ancestor nodes/Show descendant nodes |
Operation Center automatically collapses workflows with three or more nodes. Use this option to expand all ancestor and descendant levels. |
|
View Runtime Log |
View the runtime log for the current instance, which can be in a Running, Succeeded, or Failed state. Note
|
|
Run Diagnostics |
DataWorks Operation Center provides a runtime diagnosis feature to help you obtain end-to-end information about node execution and quickly locate issues. For more information, see Intelligent Diagnosis. |
|
View Code |
View the code of the current instance. |
|
Edit Node |
Opens the node in DataStudio for editing. |
|
View Lineage |
View the data lineage of the current instance. |
|
More |
Click to view information about the current node, such as Property, Context, Runtime Log, Operation Log, and Code. |
|
Terminate |
You can stop only instances that are in the Pending or Running state. After this operation, the instance state changes to Failed. |
|
Rerun |
Reruns a node. A successful rerun triggers its downstream nodes. This is often used for failed or missed runs. Note
You can rerun only nodes that are in the Not Running, Successful, or Failed state. |
|
Rerun Descendent Nodes |
Reruns a node and its downstream nodes. You must select the nodes to be rerun. After a selected node runs successfully, it can trigger the scheduling of its downstream nodes that have not yet run. This operation is often used for data patching. Note
You can select only nodes in the Not Running, Complete, and Failed statuses. If you select a node in any other status, the page displays the message The selected nodes include nodes that do not meet the running conditions, and the run submission is disabled. |
|
Set to Successful |
Changes a failed instance's status to Succeeded and triggers its downstream nodes. This is typically used to recover from failures. Note
You can set the status to Succeeded only for a node in the Failed state. You cannot set the status to Succeeded for a workflow. |
|
Resume |
If a node fails to run, you can resume it. This feature is supported only for MaxCompute nodes. Note
If you purchased an exclusive resource group for scheduling before January 2021 and need to upgrade, you must first click the application link to join the "Alibaba Cloud Big Data & AI Platform" chat group. Then, scan the following QR code to join the DataWorks product DingTalk group for pre-sales and after-sales support. You can @ the intelligent robot for assistance, or contact the on-duty staff directly during support hours. |
|
Emergency Operations |
Operations for the current instance in urgent situations. Emergency operations are effective only for the current run of the node. Delete Dependencies: Removes the node's dependencies for the current run. This is useful if a required upstream node has failed. |
|
Freeze |
Freezing an auto triggered instance applies only to its current run. A frozen auto triggered instance is not automatically scheduled and does not process data. It also blocks its downstream nodes from being automatically scheduled. Scenario: If you schedule a node to run every hour, 24 instances are generated for the day. If one of these hourly instances does not need to run, you can choose to freeze that instance. Freezing one hourly instance does not affect the execution of other instances. After the freeze operation is complete, you can view the corresponding Freeze instance scheduling record in the Operation Log tab of the node, which includes the operation time, operator, and details. |
|
Unfreeze |
Unfreezes an instance that is in a frozen state.
Note
The unfreeze operation affects only the current instance. If the node's periodic task is frozen, subsequent instances will still be created in a frozen state. |
Click an instance, and an instance details pane appears in the lower-right corner of the page. Click Show Details in the pane to view the details of a single instance. The following example uses an auto triggered instance.
|
Tab |
Description |
|
Property |
On this tab, you can view the scheduling properties of the task in the production environment. For more information about the parameters, see Configure scheduling properties.
|
|
Runtime Log |
Used to view the detailed execution process of the task. |
|
Operation Log |
Used to view the operation records for a task or instance, including the time, operator, and specific operation. |
|
Code |
Used to view the latest code of the current task in the production environment. If the code is incorrect, verify that the latest version has been deployed successfully. For more information, see Deploy tasks. |
