Appendix: DAG features

更新时间:
复制 MD 格式

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.

    Note

    You 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_root node. With this result, you can quickly locate the blocking node and handle any related errors.

    Note

    Next 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
    • For a shared resource group for scheduling, instances are retained for one month, and logs are retained for one week.

    • For an exclusive resource group for scheduling, instances and logs are retained for one month.

    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.

    • If the instance has not yet run, it runs automatically after its upstream nodes have finished running.

    • If all upstream nodes have finished running, the node is immediately set to Failed. You must manually rerun it for it to run normally.

    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.

    • Relationship between a node ID and an instance ID:

      A node ID identifies all instances of that node for the day (e.g., all hourly runs). An instance ID uniquely identifies a single run.

    • Understanding task status: The task status is related to its execution. If a task is in a state such as Not Run, Pending (Time), Pending (Resource), or Frozen, you can use Run Diagnostics to quickly identify the problem.

    • Time spent waiting for resources: When a task spends a long time waiting for resources, you can use the Run Diagnostics feature to identify which other tasks are consuming resources during its runtime, helping you quickly find and investigate abnormal tasks.

    • Excessive runtime: If a task's runtime is significantly longer than its historical average, you can handle it based on the following scenarios.

      • For non-synchronization tasks, consult the person in charge of the corresponding engine.

      • For a batch synchronization task, a certain stage of the task may be running slowly or waiting for resources for a long time. For more information, see Batch synchronization FAQ.

    • Rule monitoring: You can view the monitoring rules associated with the current instance. You can click Create on the right to quickly create a monitoring rule for the task's running status. For more information, see Manage rules.

      Note

      You can only view the details of rules for monitoring task running status. Data quality monitoring rules are not displayed here.

    • Baseline monitoring: You can view the baselines associated with the current instance. You can click Create on the right to quickly create a baseline. For more information, see Manage baselines.

    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.