RWM Console cluster: risingwave-alinma.alinma-rw.svc.cluster.local

← cluster insights objects flow_summary_mv explain
Overview Objects Graph History
materialized view · insights.flow_summary_mv profiled over 5s
seconds (1–30)

Job is idle — throughput ~0; structure shown.

Aggregation state — unbounded unless keyed or temporally filteredWindow state — add a WHERE rank <= N to bound it
13 operators
Materialize · insights.flow_summary_mv
0% idle 2 actors
OverWindow Window state — add a WHERE rank <= N to bound it
0% idle 2 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
HashAgg Aggregation state — unbounded unless keyed or temporally filtered
0% idle 2 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · flow_asset_values_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Heat = the operator's output-buffer backpressure over the sampling window. Click a node to fold its subtree.
Materialize · insights.flow_summary_mv Materialize insights.flow_summary_mv idle · 2 actors OverWindow OverWindow idle · 2 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors HashAgg HashAgg idle · 2 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · flow_asset_values_mv_next StreamScan flow_asset_values_mv_ne… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors
Streaming operator plan from EXPLAIN ANALYZE. Node heat = backpressure. Drag to pan, scroll to zoom.
Fragments (DESCRIBE FRAGMENTS) — click to expand
Fragment 64111 (Actor 747075,747074)
StreamMaterialize { columns: [account_group_id, dim_transaction_date, position_type, currency_code, adjusted_net_flow, adjusted_net_flow_system_currency, cumulative_adjusted_netflow, cumulative_adjusted_netflow_system_currency], stream_key: [account_group_id, currency_code, position_type, dim_transaction_date], pk_columns: [account_group_id, currency_code, position_type, dim_transaction_date], pk_conflict: NoCheck }
├── output: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency, sum(flow_asset_values_mv_next.net_value_group), sum(flow_asset_values_mv_next.net_value_system), sum, sum ]
├── stream key: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.dim_transaction_date ]
└── StreamOverWindow { window_functions: [sum(sum(flow_asset_values_mv_next.net_value_group)) OVER(PARTITION BY flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.position_type ORDER BY flow_asset_values_mv_next.dim_transaction_date ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), sum(sum(flow_asset_values_mv_next.net_value_system)) OVER(PARTITION BY flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.position_type ORDER BY flow_asset_values_mv_next.dim_transaction_date ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)] }
    ├── output: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency, sum(flow_asset_values_mv_next.net_value_group), sum(flow_asset_values_mv_next.net_value_system), sum, sum ]
    ├── stream key: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.dim_transaction_date ]
    └── StreamLocalityProvider { locality_columns: [flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.position_type] }
        ├── output: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency, sum(flow_asset_values_mv_next.net_value_group), sum(flow_asset_values_mv_next.net_value_system) ]
        ├── stream key: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.dim_transaction_date ]
        └── MergeExecutor { output: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency, sum(flow_asset_values_mv_next.net_value_group), sum(flow_asset_values_mv_next.net_value_system) ], stream key: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency ] }

Fragment 64112 (Actor 747079,747078)
StreamProject { exprs: [flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency, sum(flow_asset_values_mv_next.net_value_group), sum(flow_asset_values_mv_next.net_value_system)] }
├── output: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency, sum(flow_asset_values_mv_next.net_value_group), sum(flow_asset_values_mv_next.net_value_system) ]
├── stream key: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency ]
└── StreamHashAgg { group_key: [flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency], aggs: [sum(flow_asset_values_mv_next.net_value_group), sum(flow_asset_values_mv_next.net_value_system), count] }
    ├── output: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency, sum(flow_asset_values_mv_next.net_value_group), sum(flow_asset_values_mv_next.net_value_system), count ]
    ├── stream key: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency ]
    └── StreamLocalityProvider { locality_columns: [flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency] }
        ├── output: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.net_value_group, flow_asset_values_mv_next.net_value_system, flow_asset_values_mv_next.asset_id, flow_asset_values_mv_next.asset_type, flow_asset_values_mv_next.flow_values_mv_next.position_type_expanded, flow_asset_values_mv_next.flag ]
        ├── stream key: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.asset_id, flow_asset_values_mv_next.asset_type, flow_asset_values_mv_next.flow_values_mv_next.position_type_expanded, flow_asset_values_mv_next.flag ]
        └── MergeExecutor
            ├── output: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.net_value_group, flow_asset_values_mv_next.net_value_system, flow_asset_values_mv_next.asset_id, flow_asset_values_mv_next.asset_type, flow_asset_values_mv_next.flow_values_mv_next.position_type_expanded, flow_asset_values_mv_next.flag ]
            └── stream key: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.asset_id, flow_asset_values_mv_next.asset_type, flow_asset_values_mv_next.flow_values_mv_next.position_type_expanded, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.flag ]

Fragment 64113 (Actor 744341,744342)
StreamTableScan { table: flow_asset_values_mv_next, columns: [account_group_id, dim_transaction_date, position_type, group_currency, net_value_group, net_value_system, asset_id, asset_type, flow_values_mv_next.position_type_expanded, flag] }
├── output: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.position_type, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.net_value_group, flow_asset_values_mv_next.net_value_system, flow_asset_values_mv_next.asset_id, flow_asset_values_mv_next.asset_type, flow_asset_values_mv_next.flow_values_mv_next.position_type_expanded, flow_asset_values_mv_next.flag ]
├── stream key: [ flow_asset_values_mv_next.account_group_id, flow_asset_values_mv_next.dim_transaction_date, flow_asset_values_mv_next.asset_id, flow_asset_values_mv_next.asset_type, flow_asset_values_mv_next.flow_values_mv_next.position_type_expanded, flow_asset_values_mv_next.group_currency, flow_asset_values_mv_next.flag ]
├── Upstream { output: [ account_group_id, dim_transaction_date, position_type, group_currency, net_value_group, net_value_system, asset_id, asset_type, flow_values_mv_next.position_type_expanded, flag ], stream key: [] }
└── BatchPlanNode { output: [ account_group_id, dim_transaction_date, position_type, group_currency, net_value_group, net_value_system, asset_id, asset_type, flow_values_mv_next.position_type_expanded, flag ], stream key: [] }