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

← cluster asset_service objects asset_distributions_dm explain
Overview Objects Graph History
table · asset_service.asset_distributions_dm profiled over 5s
seconds (1–30)

Job is idle — throughput ~0; structure shown.

14 operators
Materialize · asset_service.asset_distributions_dm
0% idle 2 actors
Union
0% idle 2 actors
UpstreamSinkUnion
1% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Dml
0% idle 2 actors
Source
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamCdcScan · public
0% idle 1 actor
Merge
1 actor
Exchange
0% idle 0 actors
CdcFilter
0% idle 1 actor
Merge
1 actor
Heat = the operator's output-buffer backpressure over the sampling window. Click a node to fold its subtree.
Materialize · asset_service.asset_distributions_dm Materialize asset_service.asset_dis… idle · 2 actors Union Union idle · 2 actors UpstreamSinkUnion UpstreamSinkUnion idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Dml Dml idle · 2 actors Source Source idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamCdcScan · public StreamCdcScan public idle · 1 actor Merge Merge — · 1 actor Exchange Exchange idle · 0 actors CdcFilter CdcFilter idle · 1 actor Merge Merge — · 1 actor
Streaming operator plan from EXPLAIN ANALYZE. Node heat = backpressure. Drag to pan, scroll to zoom.
Fragments (DESCRIBE FRAGMENTS) — click to expand
Fragment 37089 (Actor 742553,742554)
StreamMaterialize { columns: [asset_id, dimension, taxonomy_node_id, percentage, effective_start_date, effective_end_date, updated_at], stream_key: [asset_id, dimension, taxonomy_node_id, effective_start_date], pk_columns: [asset_id, dimension, taxonomy_node_id, effective_start_date], pk_conflict: Overwrite }
├── output:
│   ┌── public.asset_distributions_dm.asset_id
│   ├── public.asset_distributions_dm.dimension
│   ├── public.asset_distributions_dm.taxonomy_node_id
│   ├── public.asset_distributions_dm.percentage
│   ├── public.asset_distributions_dm.effective_start_date
│   ├── public.asset_distributions_dm.effective_end_date
│   └── public.asset_distributions_dm.updated_at
├── stream key: [ public.asset_distributions_dm.asset_id, public.asset_distributions_dm.dimension, public.asset_distributions_dm.taxonomy_node_id, public.asset_distributions_dm.effective_start_date ]
└── StreamUnion { all: true }
    ├── output:
    │   ┌── public.asset_distributions_dm.asset_id
    │   ├── public.asset_distributions_dm.dimension
    │   ├── public.asset_distributions_dm.taxonomy_node_id
    │   ├── public.asset_distributions_dm.percentage
    │   ├── public.asset_distributions_dm.effective_start_date
    │   ├── public.asset_distributions_dm.effective_end_date
    │   └── public.asset_distributions_dm.updated_at
    ├── stream key: []
    ├── MergeExecutor
    │   ├── output:
    │   │   ┌── public.asset_distributions_dm.asset_id
    │   │   ├── public.asset_distributions_dm.dimension
    │   │   ├── public.asset_distributions_dm.taxonomy_node_id
    │   │   ├── public.asset_distributions_dm.percentage
    │   │   ├── public.asset_distributions_dm.effective_start_date
    │   │   ├── public.asset_distributions_dm.effective_end_date
    │   │   └── public.asset_distributions_dm.updated_at
    │   └── stream key: [ public.asset_distributions_dm.asset_id, public.asset_distributions_dm.dimension, public.asset_distributions_dm.taxonomy_node_id, public.asset_distributions_dm.effective_start_date ]
    ├── MergeExecutor { output: [ asset_id, dimension, taxonomy_node_id, percentage, effective_start_date, effective_end_date, updated_at ], stream key: [] }
    └── StreamUpstreamSinkUnion { output: [ asset_id, dimension, taxonomy_node_id, percentage, effective_start_date, effective_end_date, updated_at ], stream key: [] }

Fragment 37090 (Actor 742555)
StreamCdcTableScan { table: public.asset_distributions_dm, columns: [asset_id, dimension, taxonomy_node_id, percentage, effective_start_date, effective_end_date, updated_at] }
├── output:
│   ┌── public.asset_distributions_dm.asset_id
│   ├── public.asset_distributions_dm.dimension
│   ├── public.asset_distributions_dm.taxonomy_node_id
│   ├── public.asset_distributions_dm.percentage
│   ├── public.asset_distributions_dm.effective_start_date
│   ├── public.asset_distributions_dm.effective_end_date
│   └── public.asset_distributions_dm.updated_at
├── stream key: [ public.asset_distributions_dm.asset_id, public.asset_distributions_dm.dimension, public.asset_distributions_dm.taxonomy_node_id, public.asset_distributions_dm.effective_start_date ]
└── MergeExecutor { output: [ payload, _rw_offset, _rw_table_name ], stream key: [] }

Fragment 37091 (Actor 741810)
StreamCdcFilter { output: [ payload, _rw_offset, _rw_table_name ], stream key: [] }
└── Upstream { output: [ payload, _rw_offset, _rw_table_name ], stream key: [] }

Fragment 37092 (Actor 742590,742589)
StreamDml { columns: [asset_id, dimension, taxonomy_node_id, percentage, effective_start_date, effective_end_date, updated_at] } { output: [ asset_id, dimension, taxonomy_node_id, percentage, effective_start_date, effective_end_date, updated_at ], stream key: [] }
└── StreamSource { output: [ asset_id, dimension, taxonomy_node_id, percentage, effective_start_date, effective_end_date, updated_at ], stream key: [] }