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

← cluster insights objects settled_cash_series_mv explain
Overview Objects Graph History
materialized view · insights.settled_cash_series_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
25 operators
Materialize · insights.settled_cash_series_mv
0% idle 2 actors
Project
2 actors
OverWindow Window state — add a WHERE rank <= N to bound it
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
TemporalJoin · Inner · transactions_merged_mv.asset_id = assets_dm.id AND (assets_…
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · assets_dm
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Filter · transactions_merged_mv
0% idle 2 actors
StreamScan · transactions_merged_mv
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.settled_cash_series_mv Materialize insights.settled_cash_s… idle · 2 actors Project Project — · 2 actors OverWindow OverWindow 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 TemporalJoin · Inner · transactions_merged_mv.asset_id = assets_dm.id AND (assets_… TemporalJoin Inner · transactions_me… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · assets_dm StreamScan assets_dm idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · transactions_merged_mv Filter transactions_merged_mv idle · 2 actors StreamScan · transactions_merged_mv StreamScan transactions_merged_mv 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 56637 (Actor 736494,736493)
StreamMaterialize { columns: [account_id, asset_id, currency_code, dim_settlement_date, settlement_amount_delta, settled_cash_balance, transaction_count], stream_key: [account_id, asset_id, currency_code, dim_settlement_date], pk_columns: [account_id, asset_id, currency_code, dim_settlement_date], pk_conflict: NoCheck }
├── output: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date, sum(transactions_merged_mv.net_value), sum, count(transactions_merged_mv.transaction_id) ]
├── stream key: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date ]
└── StreamProject { exprs: [transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date, sum(transactions_merged_mv.net_value), sum, count(transactions_merged_mv.transaction_id)] }
    ├── output: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date, sum(transactions_merged_mv.net_value), sum, count(transactions_merged_mv.transaction_id) ]
    ├── stream key: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date ]
    └── StreamOverWindow { window_functions: [sum(sum(transactions_merged_mv.net_value)) OVER(PARTITION BY transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code ORDER BY transactions_merged_mv.transaction_settlement_date ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)] }
        ├── output: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date, sum(transactions_merged_mv.net_value), count(transactions_merged_mv.transaction_id), sum ]
        ├── stream key: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date ]
        └── MergeExecutor
            ├── output: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date, sum(transactions_merged_mv.net_value), count(transactions_merged_mv.transaction_id) ]
            └── stream key: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date ]

Fragment 56638 (Actor 736498,736497)
StreamProject { exprs: [transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date, sum(transactions_merged_mv.net_value), count(transactions_merged_mv.transaction_id)] }
├── output: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date, sum(transactions_merged_mv.net_value), count(transactions_merged_mv.transaction_id) ]
├── stream key: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date ]
└── StreamHashAgg { group_key: [transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date], aggs: [sum(transactions_merged_mv.net_value), count(transactions_merged_mv.transaction_id), count] }
    ├── output: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date, sum(transactions_merged_mv.net_value), count(transactions_merged_mv.transaction_id), count ]
    ├── stream key: [ transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date ]
    └── StreamLocalityProvider { locality_columns: [transactions_merged_mv.account_id, transactions_merged_mv.asset_id, transactions_merged_mv.currency_code, transactions_merged_mv.transaction_settlement_date] }
        ├── output:
        │   ┌── transactions_merged_mv.account_id
        │   ├── transactions_merged_mv.asset_id
        │   ├── transactions_merged_mv.currency_code
        │   ├── transactions_merged_mv.transaction_settlement_date
        │   ├── transactions_merged_mv.transaction_id
        │   ├── transactions_merged_mv.net_value
        │   ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
        │   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
        │   ├── transactions_merged_mv.null:Varchar
        │   ├── transactions_merged_mv.null:Varchar#1
        │   ├── transactions_merged_mv.null:Varchar#2
        │   ├── transactions_merged_mv.null:Varchar#3
        │   ├── transactions_merged_mv.$src
        │   └── assets_dm.id
        ├── stream key:
        │   ┌── transactions_merged_mv.account_id
        │   ├── transactions_merged_mv.asset_id
        │   ├── transactions_merged_mv.currency_code
        │   ├── transactions_merged_mv.transaction_settlement_date
        │   ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
        │   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
        │   ├── transactions_merged_mv.null:Varchar
        │   ├── transactions_merged_mv.null:Varchar#1
        │   ├── transactions_merged_mv.null:Varchar#2
        │   ├── transactions_merged_mv.null:Varchar#3
        │   └── transactions_merged_mv.$src
        └── MergeExecutor
            ├── output:
            │   ┌── transactions_merged_mv.account_id
            │   ├── transactions_merged_mv.asset_id
            │   ├── transactions_merged_mv.currency_code
            │   ├── transactions_merged_mv.transaction_settlement_date
            │   ├── transactions_merged_mv.transaction_id
            │   ├── transactions_merged_mv.net_value
            │   ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
            │   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
            │   ├── transactions_merged_mv.null:Varchar
            │   ├── transactions_merged_mv.null:Varchar#1
            │   ├── transactions_merged_mv.null:Varchar#2
            │   ├── transactions_merged_mv.null:Varchar#3
            │   ├── transactions_merged_mv.$src
            │   └── assets_dm.id
            └── stream key:
                ┌── transactions_merged_mv.asset_id
                ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
                ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
                ├── transactions_merged_mv.null:Varchar
                ├── transactions_merged_mv.null:Varchar#1
                ├── transactions_merged_mv.null:Varchar#2
                ├── transactions_merged_mv.null:Varchar#3
                └── transactions_merged_mv.$src

Fragment 56639 (Actor 741118,741117)
StreamTemporalJoin { type: Inner, append_only: false, predicate: transactions_merged_mv.asset_id = assets_dm.id AND (assets_dm.type = 'CASH':Varchar), nested_loop: false }
├── output:
│   ┌── transactions_merged_mv.account_id
│   ├── transactions_merged_mv.asset_id
│   ├── transactions_merged_mv.currency_code
│   ├── transactions_merged_mv.transaction_settlement_date
│   ├── transactions_merged_mv.transaction_id
│   ├── transactions_merged_mv.net_value
│   ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
│   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
│   ├── transactions_merged_mv.null:Varchar
│   ├── transactions_merged_mv.null:Varchar#1
│   ├── transactions_merged_mv.null:Varchar#2
│   ├── transactions_merged_mv.null:Varchar#3
│   ├── transactions_merged_mv.$src
│   └── assets_dm.id
├── stream key:
│   ┌── transactions_merged_mv.asset_id
│   ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
│   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
│   ├── transactions_merged_mv.null:Varchar
│   ├── transactions_merged_mv.null:Varchar#1
│   ├── transactions_merged_mv.null:Varchar#2
│   ├── transactions_merged_mv.null:Varchar#3
│   └── transactions_merged_mv.$src
├── MergeExecutor
│   ├── output:
│   │   ┌── transactions_merged_mv.transaction_id
│   │   ├── transactions_merged_mv.account_id
│   │   ├── transactions_merged_mv.asset_id
│   │   ├── transactions_merged_mv.transaction_settlement_date
│   │   ├── transactions_merged_mv.currency_code
│   │   ├── transactions_merged_mv.net_value
│   │   ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
│   │   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
│   │   ├── transactions_merged_mv.null:Varchar
│   │   ├── transactions_merged_mv.null:Varchar#1
│   │   ├── transactions_merged_mv.null:Varchar#2
│   │   ├── transactions_merged_mv.null:Varchar#3
│   │   └── transactions_merged_mv.$src
│   └── stream key:
│       ┌── transactions_merged_mv.asset_id
│       ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
│       ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
│       ├── transactions_merged_mv.null:Varchar
│       ├── transactions_merged_mv.null:Varchar#1
│       ├── transactions_merged_mv.null:Varchar#2
│       ├── transactions_merged_mv.null:Varchar#3
│       └── transactions_merged_mv.$src
└── MergeExecutor { output: [ assets_dm.id, assets_dm.type ], stream key: [ assets_dm.id ] }

Fragment 56640 (Actor 736542,736543)
StreamLocalityProvider { locality_columns: [transactions_merged_mv.asset_id] }
├── output:
│   ┌── transactions_merged_mv.transaction_id
│   ├── transactions_merged_mv.account_id
│   ├── transactions_merged_mv.asset_id
│   ├── transactions_merged_mv.transaction_settlement_date
│   ├── transactions_merged_mv.currency_code
│   ├── transactions_merged_mv.net_value
│   ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
│   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
│   ├── transactions_merged_mv.null:Varchar
│   ├── transactions_merged_mv.null:Varchar#1
│   ├── transactions_merged_mv.null:Varchar#2
│   ├── transactions_merged_mv.null:Varchar#3
│   └── transactions_merged_mv.$src
├── stream key:
│   ┌── transactions_merged_mv.asset_id
│   ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
│   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
│   ├── transactions_merged_mv.null:Varchar
│   ├── transactions_merged_mv.null:Varchar#1
│   ├── transactions_merged_mv.null:Varchar#2
│   ├── transactions_merged_mv.null:Varchar#3
│   └── transactions_merged_mv.$src
└── MergeExecutor
    ├── output:
    │   ┌── transactions_merged_mv.transaction_id
    │   ├── transactions_merged_mv.account_id
    │   ├── transactions_merged_mv.asset_id
    │   ├── transactions_merged_mv.transaction_settlement_date
    │   ├── transactions_merged_mv.currency_code
    │   ├── transactions_merged_mv.net_value
    │   ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
    │   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
    │   ├── transactions_merged_mv.null:Varchar
    │   ├── transactions_merged_mv.null:Varchar#1
    │   ├── transactions_merged_mv.null:Varchar#2
    │   ├── transactions_merged_mv.null:Varchar#3
    │   └── transactions_merged_mv.$src
    └── stream key:
        ┌── transactions_merged_mv.transactions_intraday_dm.status_label_id
        ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
        ├── transactions_merged_mv.null:Varchar
        ├── transactions_merged_mv.null:Varchar#1
        ├── transactions_merged_mv.null:Varchar#2
        ├── transactions_merged_mv.null:Varchar#3
        └── transactions_merged_mv.$src

Fragment 56641 (Actor 736544,736545)
StreamFilter { predicate: Not(IsNull(transactions_merged_mv.transaction_settlement_date)) }
├── output:
│   ┌── transactions_merged_mv.transaction_id
│   ├── transactions_merged_mv.account_id
│   ├── transactions_merged_mv.asset_id
│   ├── transactions_merged_mv.transaction_settlement_date
│   ├── transactions_merged_mv.currency_code
│   ├── transactions_merged_mv.net_value
│   ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
│   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
│   ├── transactions_merged_mv.null:Varchar
│   ├── transactions_merged_mv.null:Varchar#1
│   ├── transactions_merged_mv.null:Varchar#2
│   ├── transactions_merged_mv.null:Varchar#3
│   └── transactions_merged_mv.$src
├── stream key:
│   ┌── transactions_merged_mv.transactions_intraday_dm.status_label_id
│   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
│   ├── transactions_merged_mv.null:Varchar
│   ├── transactions_merged_mv.null:Varchar#1
│   ├── transactions_merged_mv.null:Varchar#2
│   ├── transactions_merged_mv.null:Varchar#3
│   └── transactions_merged_mv.$src
└── StreamTableScan { table: transactions_merged_mv, columns: [transaction_id, account_id, asset_id, transaction_settlement_date, currency_code, net_value, transactions_intraday_dm.status_label_id, transactions_intraday_dm.transaction_id, null:Varchar, null:Varchar#1, null:Varchar#2, null:Varchar#3, $src] }
    ├── output:
    │   ┌── transactions_merged_mv.transaction_id
    │   ├── transactions_merged_mv.account_id
    │   ├── transactions_merged_mv.asset_id
    │   ├── transactions_merged_mv.transaction_settlement_date
    │   ├── transactions_merged_mv.currency_code
    │   ├── transactions_merged_mv.net_value
    │   ├── transactions_merged_mv.transactions_intraday_dm.status_label_id
    │   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
    │   ├── transactions_merged_mv.null:Varchar
    │   ├── transactions_merged_mv.null:Varchar#1
    │   ├── transactions_merged_mv.null:Varchar#2
    │   ├── transactions_merged_mv.null:Varchar#3
    │   └── transactions_merged_mv.$src
    ├── stream key:
    │   ┌── transactions_merged_mv.transactions_intraday_dm.status_label_id
    │   ├── transactions_merged_mv.transactions_intraday_dm.transaction_id
    │   ├── transactions_merged_mv.null:Varchar
    │   ├── transactions_merged_mv.null:Varchar#1
    │   ├── transactions_merged_mv.null:Varchar#2
    │   ├── transactions_merged_mv.null:Varchar#3
    │   └── transactions_merged_mv.$src
    ├── Upstream { output: [ transaction_id, account_id, asset_id, transaction_settlement_date, currency_code, net_value, transactions_intraday_dm.status_label_id, transactions_intraday_dm.transaction_id, null:Varchar, null:Varchar#1, null:Varchar#2, null:Varchar#3, $src ], stream key: [] }
    └── BatchPlanNode { output: [ transaction_id, account_id, asset_id, transaction_settlement_date, currency_code, net_value, transactions_intraday_dm.status_label_id, transactions_intraday_dm.transaction_id, null:Varchar, null:Varchar#1, null:Varchar#2, null:Varchar#3, $src ], stream key: [] }

Fragment 56642 (Actor 741107,741108)
StreamTableScan { table: assets_dm, columns: [id, type] } { output: [ assets_dm.id, assets_dm.type ], stream key: [ assets_dm.id ] }
├── Upstream { output: [ id, type ], stream key: [] }
└── BatchPlanNode { output: [ id, type ], stream key: [] }