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

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

Job is idle — throughput ~0; structure shown.

Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
40 operators
Materialize · alinma_bff.party_advisor_kpis_mv
0% idle 2 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp…
2 actors
HashJoin · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · party_advisor_kpi_period_values_mv_next
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
SyncLogStore · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp…
2 actors
HashJoin · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · party_advisor_kpi_period_adds_mv_next
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
SyncLogStore · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp…
2 actors
HashJoin · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · party_advisor_kpi_values_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · party_advisor_kpi_counts_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 · alinma_bff.party_advisor_kpis_mv Materialize alinma_bff.party_adviso… idle · 2 actors Project Project — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp… SyncLogStore LeftOuter · party_advis… — · 2 actors HashJoin · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp… HashJoin LeftOuter · party_advis… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · party_advisor_kpi_period_values_mv_next StreamScan party_advisor_kpi_perio… 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 SyncLogStore · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp… SyncLogStore LeftOuter · party_advis… — · 2 actors HashJoin · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp… HashJoin LeftOuter · party_advis… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · party_advisor_kpi_period_adds_mv_next StreamScan party_advisor_kpi_perio… 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 SyncLogStore · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp… SyncLogStore LeftOuter · party_advis… — · 2 actors HashJoin · LeftOuter · party_advisor_kpi_counts_mv_next.user_id = party_advisor_kp… HashJoin LeftOuter · party_advis… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · party_advisor_kpi_values_mv_next StreamScan party_advisor_kpi_value… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · party_advisor_kpi_counts_mv_next StreamScan party_advisor_kpi_count… 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 64745 (Actor 747940,747941)
StreamMaterialize { columns: [user_id, clients_count, portfolios_count, accounts_count, total_financing, total_relationship_value, total_net_assets, total_deposits, total_aum, trv_growth_weekly, trv_growth_monthly, trv_growth_quarterly, trv_growth_yearly, net_assets_growth_weekly, net_assets_growth_monthly, net_assets_growth_quarterly, net_assets_growth_yearly, portfolios_added_weekly, portfolios_added_monthly, portfolios_added_quarterly, portfolios_added_yearly, clients_added_weekly, clients_added_monthly, clients_added_quarterly, clients_added_yearly, fee_weekly, fee_monthly, fee_quarterly, fee_yearly, gain_loss_weekly, gain_loss_monthly, gain_loss_quarterly, gain_loss_yearly, currency_code, updated_at], stream_key: [user_id], pk_columns: [user_id], pk_conflict: NoCheck } { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, $expr1, $expr2, $expr3, $expr4, $expr5, party_advisor_kpi_period_values_mv_next.trv_growth_weekly, party_advisor_kpi_period_values_mv_next.trv_growth_monthly, party_advisor_kpi_period_values_mv_next.trv_growth_quarterly, party_advisor_kpi_period_values_mv_next.trv_growth_yearly, party_advisor_kpi_period_values_mv_next.net_assets_growth_weekly, party_advisor_kpi_period_values_mv_next.net_assets_growth_monthly, party_advisor_kpi_period_values_mv_next.net_assets_growth_quarterly, party_advisor_kpi_period_values_mv_next.net_assets_growth_yearly, $expr6, $expr7, $expr8, $expr9, $expr10, $expr11, $expr12, $expr13, party_advisor_kpi_period_values_mv_next.fee_weekly, party_advisor_kpi_period_values_mv_next.fee_monthly, party_advisor_kpi_period_values_mv_next.fee_quarterly, party_advisor_kpi_period_values_mv_next.fee_yearly, party_advisor_kpi_period_values_mv_next.gain_loss_weekly, party_advisor_kpi_period_values_mv_next.gain_loss_monthly, party_advisor_kpi_period_values_mv_next.gain_loss_quarterly, party_advisor_kpi_period_values_mv_next.gain_loss_yearly, 'SAR':Varchar, $expr14 ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
└── StreamProject
└─exprs:
  ┌─party_advisor_kpi_counts_mv_next.user_id
  ├─party_advisor_kpi_counts_mv_next.clients_count
  ├─party_advisor_kpi_counts_mv_next.portfolios_count
  ├─party_advisor_kpi_counts_mv_next.accounts_count
  ├─Coalesce(party_advisor_kpi_values_mv_next.total_financing, 0:Decimal) as $expr1
  ├─Coalesce(party_advisor_kpi_values_mv_next.total_relationship_value, 0:Decimal) as $expr2
  ├─Coalesce(party_advisor_kpi_values_mv_next.total_net_assets, 0:Decimal) as $expr3
  ├─Coalesce(party_advisor_kpi_values_mv_next.total_deposits, 0:Decimal) as $expr4
  ├─Coalesce(party_advisor_kpi_values_mv_next.total_aum, 0:Decimal) as $expr5
  ├─party_advisor_kpi_period_values_mv_next.trv_growth_weekly
  ├─party_advisor_kpi_period_values_mv_next.trv_growth_monthly
  ├─party_advisor_kpi_period_values_mv_next.trv_growth_quarterly
  ├─party_advisor_kpi_period_values_mv_next.trv_growth_yearly
  ├─party_advisor_kpi_period_values_mv_next.net_assets_growth_weekly
  ├─party_advisor_kpi_period_values_mv_next.net_assets_growth_monthly
  ├─party_advisor_kpi_period_values_mv_next.net_assets_growth_quarterly
  ├─party_advisor_kpi_period_values_mv_next.net_assets_growth_yearly
  ├─Coalesce(party_advisor_kpi_period_adds_mv_next.portfolios_added_weekly, 0:Int32) as $expr6
  ├─Coalesce(party_advisor_kpi_period_adds_mv_next.portfolios_added_monthly, 0:Int32) as $expr7
  ├─Coalesce(party_advisor_kpi_period_adds_mv_next.portfolios_added_quarterly, 0:Int32) as $expr8
  ├─Coalesce(party_advisor_kpi_period_adds_mv_next.portfolios_added_yearly, 0:Int32) as $expr9
  ├─Coalesce(party_advisor_kpi_period_adds_mv_next.clients_added_weekly, 0:Int32) as $expr10
  ├─Coalesce(party_advisor_kpi_period_adds_mv_next.clients_added_monthly, 0:Int32) as $expr11
  ├─Coalesce(party_advisor_kpi_period_adds_mv_next.clients_added_quarterly, 0:Int32) as $expr12
  ├─Coalesce(party_advisor_kpi_period_adds_mv_next.clients_added_yearly, 0:Int32) as $expr13
  ├─party_advisor_kpi_period_values_mv_next.fee_weekly
  ├─party_advisor_kpi_period_values_mv_next.fee_monthly
  ├─party_advisor_kpi_period_values_mv_next.fee_quarterly
  ├─party_advisor_kpi_period_values_mv_next.fee_yearly
  ├─party_advisor_kpi_period_values_mv_next.gain_loss_weekly
  ├─party_advisor_kpi_period_values_mv_next.gain_loss_monthly
  ├─party_advisor_kpi_period_values_mv_next.gain_loss_quarterly
  ├─party_advisor_kpi_period_values_mv_next.gain_loss_yearly
  ├─'SAR':Varchar
  └─Coalesce(party_advisor_kpi_values_mv_next.updated_at, '1970-01-01 00:00:00+00:00':Timestamptz) as $expr14
    ├── output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, $expr1, $expr2, $expr3, $expr4, $expr5, party_advisor_kpi_period_values_mv_next.trv_growth_weekly, party_advisor_kpi_period_values_mv_next.trv_growth_monthly, party_advisor_kpi_period_values_mv_next.trv_growth_quarterly, party_advisor_kpi_period_values_mv_next.trv_growth_yearly, party_advisor_kpi_period_values_mv_next.net_assets_growth_weekly, party_advisor_kpi_period_values_mv_next.net_assets_growth_monthly, party_advisor_kpi_period_values_mv_next.net_assets_growth_quarterly, party_advisor_kpi_period_values_mv_next.net_assets_growth_yearly, $expr6, $expr7, $expr8, $expr9, $expr10, $expr11, $expr12, $expr13, party_advisor_kpi_period_values_mv_next.fee_weekly, party_advisor_kpi_period_values_mv_next.fee_monthly, party_advisor_kpi_period_values_mv_next.fee_quarterly, party_advisor_kpi_period_values_mv_next.fee_yearly, party_advisor_kpi_period_values_mv_next.gain_loss_weekly, party_advisor_kpi_period_values_mv_next.gain_loss_monthly, party_advisor_kpi_period_values_mv_next.gain_loss_quarterly, party_advisor_kpi_period_values_mv_next.gain_loss_yearly, 'SAR':Varchar, $expr14 ]
    ├── stream key: [ party_advisor_kpi_counts_mv_next.user_id ]
    └── MergeExecutor { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_period_adds_mv_next.portfolios_added_weekly, party_advisor_kpi_period_adds_mv_next.portfolios_added_monthly, party_advisor_kpi_period_adds_mv_next.portfolios_added_quarterly, party_advisor_kpi_period_adds_mv_next.portfolios_added_yearly, party_advisor_kpi_period_adds_mv_next.clients_added_weekly, party_advisor_kpi_period_adds_mv_next.clients_added_monthly, party_advisor_kpi_period_adds_mv_next.clients_added_quarterly, party_advisor_kpi_period_adds_mv_next.clients_added_yearly, party_advisor_kpi_period_values_mv_next.trv_growth_weekly, party_advisor_kpi_period_values_mv_next.trv_growth_monthly, party_advisor_kpi_period_values_mv_next.trv_growth_quarterly, party_advisor_kpi_period_values_mv_next.trv_growth_yearly, party_advisor_kpi_period_values_mv_next.net_assets_growth_weekly, party_advisor_kpi_period_values_mv_next.net_assets_growth_monthly, party_advisor_kpi_period_values_mv_next.net_assets_growth_quarterly, party_advisor_kpi_period_values_mv_next.net_assets_growth_yearly, party_advisor_kpi_period_values_mv_next.fee_weekly, party_advisor_kpi_period_values_mv_next.fee_monthly, party_advisor_kpi_period_values_mv_next.fee_quarterly, party_advisor_kpi_period_values_mv_next.fee_yearly, party_advisor_kpi_period_values_mv_next.gain_loss_weekly, party_advisor_kpi_period_values_mv_next.gain_loss_monthly, party_advisor_kpi_period_values_mv_next.gain_loss_quarterly, party_advisor_kpi_period_values_mv_next.gain_loss_yearly, party_advisor_kpi_period_values_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }

Fragment 64746 (Actor 747938,747939)
StreamSyncLogStore { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_period_adds_mv_next.portfolios_added_weekly, party_advisor_kpi_period_adds_mv_next.portfolios_added_monthly, party_advisor_kpi_period_adds_mv_next.portfolios_added_quarterly, party_advisor_kpi_period_adds_mv_next.portfolios_added_yearly, party_advisor_kpi_period_adds_mv_next.clients_added_weekly, party_advisor_kpi_period_adds_mv_next.clients_added_monthly, party_advisor_kpi_period_adds_mv_next.clients_added_quarterly, party_advisor_kpi_period_adds_mv_next.clients_added_yearly, party_advisor_kpi_period_values_mv_next.trv_growth_weekly, party_advisor_kpi_period_values_mv_next.trv_growth_monthly, party_advisor_kpi_period_values_mv_next.trv_growth_quarterly, party_advisor_kpi_period_values_mv_next.trv_growth_yearly, party_advisor_kpi_period_values_mv_next.net_assets_growth_weekly, party_advisor_kpi_period_values_mv_next.net_assets_growth_monthly, party_advisor_kpi_period_values_mv_next.net_assets_growth_quarterly, party_advisor_kpi_period_values_mv_next.net_assets_growth_yearly, party_advisor_kpi_period_values_mv_next.fee_weekly, party_advisor_kpi_period_values_mv_next.fee_monthly, party_advisor_kpi_period_values_mv_next.fee_quarterly, party_advisor_kpi_period_values_mv_next.fee_yearly, party_advisor_kpi_period_values_mv_next.gain_loss_weekly, party_advisor_kpi_period_values_mv_next.gain_loss_monthly, party_advisor_kpi_period_values_mv_next.gain_loss_quarterly, party_advisor_kpi_period_values_mv_next.gain_loss_yearly, party_advisor_kpi_period_values_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
└── StreamHashJoin { type: LeftOuter, predicate: party_advisor_kpi_counts_mv_next.user_id = party_advisor_kpi_period_values_mv_next.user_id } { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_period_adds_mv_next.portfolios_added_weekly, party_advisor_kpi_period_adds_mv_next.portfolios_added_monthly, party_advisor_kpi_period_adds_mv_next.portfolios_added_quarterly, party_advisor_kpi_period_adds_mv_next.portfolios_added_yearly, party_advisor_kpi_period_adds_mv_next.clients_added_weekly, party_advisor_kpi_period_adds_mv_next.clients_added_monthly, party_advisor_kpi_period_adds_mv_next.clients_added_quarterly, party_advisor_kpi_period_adds_mv_next.clients_added_yearly, party_advisor_kpi_period_values_mv_next.trv_growth_weekly, party_advisor_kpi_period_values_mv_next.trv_growth_monthly, party_advisor_kpi_period_values_mv_next.trv_growth_quarterly, party_advisor_kpi_period_values_mv_next.trv_growth_yearly, party_advisor_kpi_period_values_mv_next.net_assets_growth_weekly, party_advisor_kpi_period_values_mv_next.net_assets_growth_monthly, party_advisor_kpi_period_values_mv_next.net_assets_growth_quarterly, party_advisor_kpi_period_values_mv_next.net_assets_growth_yearly, party_advisor_kpi_period_values_mv_next.fee_weekly, party_advisor_kpi_period_values_mv_next.fee_monthly, party_advisor_kpi_period_values_mv_next.fee_quarterly, party_advisor_kpi_period_values_mv_next.fee_yearly, party_advisor_kpi_period_values_mv_next.gain_loss_weekly, party_advisor_kpi_period_values_mv_next.gain_loss_monthly, party_advisor_kpi_period_values_mv_next.gain_loss_quarterly, party_advisor_kpi_period_values_mv_next.gain_loss_yearly, party_advisor_kpi_period_values_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
    ├── MergeExecutor { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_period_adds_mv_next.portfolios_added_weekly, party_advisor_kpi_period_adds_mv_next.portfolios_added_monthly, party_advisor_kpi_period_adds_mv_next.portfolios_added_quarterly, party_advisor_kpi_period_adds_mv_next.portfolios_added_yearly, party_advisor_kpi_period_adds_mv_next.clients_added_weekly, party_advisor_kpi_period_adds_mv_next.clients_added_monthly, party_advisor_kpi_period_adds_mv_next.clients_added_quarterly, party_advisor_kpi_period_adds_mv_next.clients_added_yearly, party_advisor_kpi_period_adds_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
    └── MergeExecutor { output: [ party_advisor_kpi_period_values_mv_next.user_id, party_advisor_kpi_period_values_mv_next.trv_growth_weekly, party_advisor_kpi_period_values_mv_next.trv_growth_monthly, party_advisor_kpi_period_values_mv_next.trv_growth_quarterly, party_advisor_kpi_period_values_mv_next.trv_growth_yearly, party_advisor_kpi_period_values_mv_next.net_assets_growth_weekly, party_advisor_kpi_period_values_mv_next.net_assets_growth_monthly, party_advisor_kpi_period_values_mv_next.net_assets_growth_quarterly, party_advisor_kpi_period_values_mv_next.net_assets_growth_yearly, party_advisor_kpi_period_values_mv_next.fee_weekly, party_advisor_kpi_period_values_mv_next.fee_monthly, party_advisor_kpi_period_values_mv_next.fee_quarterly, party_advisor_kpi_period_values_mv_next.fee_yearly, party_advisor_kpi_period_values_mv_next.gain_loss_weekly, party_advisor_kpi_period_values_mv_next.gain_loss_monthly, party_advisor_kpi_period_values_mv_next.gain_loss_quarterly, party_advisor_kpi_period_values_mv_next.gain_loss_yearly ], stream key: [ party_advisor_kpi_period_values_mv_next.user_id ] }

Fragment 64747 (Actor 747944,747945)
StreamLocalityProvider { locality_columns: [party_advisor_kpi_counts_mv_next.user_id] } { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_period_adds_mv_next.portfolios_added_weekly, party_advisor_kpi_period_adds_mv_next.portfolios_added_monthly, party_advisor_kpi_period_adds_mv_next.portfolios_added_quarterly, party_advisor_kpi_period_adds_mv_next.portfolios_added_yearly, party_advisor_kpi_period_adds_mv_next.clients_added_weekly, party_advisor_kpi_period_adds_mv_next.clients_added_monthly, party_advisor_kpi_period_adds_mv_next.clients_added_quarterly, party_advisor_kpi_period_adds_mv_next.clients_added_yearly, party_advisor_kpi_period_adds_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
└── MergeExecutor { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_period_adds_mv_next.portfolios_added_weekly, party_advisor_kpi_period_adds_mv_next.portfolios_added_monthly, party_advisor_kpi_period_adds_mv_next.portfolios_added_quarterly, party_advisor_kpi_period_adds_mv_next.portfolios_added_yearly, party_advisor_kpi_period_adds_mv_next.clients_added_weekly, party_advisor_kpi_period_adds_mv_next.clients_added_monthly, party_advisor_kpi_period_adds_mv_next.clients_added_quarterly, party_advisor_kpi_period_adds_mv_next.clients_added_yearly, party_advisor_kpi_period_adds_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }

Fragment 64748 (Actor 747942,747943)
StreamSyncLogStore { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_period_adds_mv_next.portfolios_added_weekly, party_advisor_kpi_period_adds_mv_next.portfolios_added_monthly, party_advisor_kpi_period_adds_mv_next.portfolios_added_quarterly, party_advisor_kpi_period_adds_mv_next.portfolios_added_yearly, party_advisor_kpi_period_adds_mv_next.clients_added_weekly, party_advisor_kpi_period_adds_mv_next.clients_added_monthly, party_advisor_kpi_period_adds_mv_next.clients_added_quarterly, party_advisor_kpi_period_adds_mv_next.clients_added_yearly, party_advisor_kpi_period_adds_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
└── StreamHashJoin { type: LeftOuter, predicate: party_advisor_kpi_counts_mv_next.user_id = party_advisor_kpi_period_adds_mv_next.user_id } { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_period_adds_mv_next.portfolios_added_weekly, party_advisor_kpi_period_adds_mv_next.portfolios_added_monthly, party_advisor_kpi_period_adds_mv_next.portfolios_added_quarterly, party_advisor_kpi_period_adds_mv_next.portfolios_added_yearly, party_advisor_kpi_period_adds_mv_next.clients_added_weekly, party_advisor_kpi_period_adds_mv_next.clients_added_monthly, party_advisor_kpi_period_adds_mv_next.clients_added_quarterly, party_advisor_kpi_period_adds_mv_next.clients_added_yearly, party_advisor_kpi_period_adds_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
    ├── MergeExecutor { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_values_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
    └── MergeExecutor { output: [ party_advisor_kpi_period_adds_mv_next.user_id, party_advisor_kpi_period_adds_mv_next.portfolios_added_weekly, party_advisor_kpi_period_adds_mv_next.portfolios_added_monthly, party_advisor_kpi_period_adds_mv_next.portfolios_added_quarterly, party_advisor_kpi_period_adds_mv_next.portfolios_added_yearly, party_advisor_kpi_period_adds_mv_next.clients_added_weekly, party_advisor_kpi_period_adds_mv_next.clients_added_monthly, party_advisor_kpi_period_adds_mv_next.clients_added_quarterly, party_advisor_kpi_period_adds_mv_next.clients_added_yearly ], stream key: [ party_advisor_kpi_period_adds_mv_next.user_id ] }

Fragment 64749 (Actor 748119,748118)
StreamLocalityProvider { locality_columns: [party_advisor_kpi_counts_mv_next.user_id] } { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_values_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
└── MergeExecutor { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_values_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }

Fragment 64750 (Actor 748116,748117)
StreamSyncLogStore { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_values_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
└── StreamHashJoin { type: LeftOuter, predicate: party_advisor_kpi_counts_mv_next.user_id = party_advisor_kpi_values_mv_next.user_id } { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at, party_advisor_kpi_values_mv_next.user_id ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
    ├── MergeExecutor { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
    └── MergeExecutor { output: [ party_advisor_kpi_values_mv_next.user_id, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at ], stream key: [ party_advisor_kpi_values_mv_next.user_id ] }

Fragment 64751 (Actor 748122,748123)
StreamTableScan { table: party_advisor_kpi_counts_mv_next, columns: [user_id, clients_count, portfolios_count, accounts_count] } { output: [ party_advisor_kpi_counts_mv_next.user_id, party_advisor_kpi_counts_mv_next.clients_count, party_advisor_kpi_counts_mv_next.portfolios_count, party_advisor_kpi_counts_mv_next.accounts_count ], stream key: [ party_advisor_kpi_counts_mv_next.user_id ] }
├── Upstream { output: [ user_id, clients_count, portfolios_count, accounts_count ], stream key: [] }
└── BatchPlanNode { output: [ user_id, clients_count, portfolios_count, accounts_count ], stream key: [] }

Fragment 64752 (Actor 748124,748125)
StreamTableScan { table: party_advisor_kpi_values_mv_next, columns: [user_id, total_net_assets, total_relationship_value, total_aum, total_deposits, total_financing, updated_at] } { output: [ party_advisor_kpi_values_mv_next.user_id, party_advisor_kpi_values_mv_next.total_net_assets, party_advisor_kpi_values_mv_next.total_relationship_value, party_advisor_kpi_values_mv_next.total_aum, party_advisor_kpi_values_mv_next.total_deposits, party_advisor_kpi_values_mv_next.total_financing, party_advisor_kpi_values_mv_next.updated_at ], stream key: [ party_advisor_kpi_values_mv_next.user_id ] }
├── Upstream { output: [ user_id, total_net_assets, total_relationship_value, total_aum, total_deposits, total_financing, updated_at ], stream key: [] }
└── BatchPlanNode { output: [ user_id, total_net_assets, total_relationship_value, total_aum, total_deposits, total_financing, updated_at ], stream key: [] }

Fragment 64753 (Actor 748121,748120)
StreamTableScan { table: party_advisor_kpi_period_adds_mv_next, columns: [user_id, portfolios_added_weekly, portfolios_added_monthly, portfolios_added_quarterly, portfolios_added_yearly, clients_added_weekly, clients_added_monthly, clients_added_quarterly, clients_added_yearly] } { output: [ party_advisor_kpi_period_adds_mv_next.user_id, party_advisor_kpi_period_adds_mv_next.portfolios_added_weekly, party_advisor_kpi_period_adds_mv_next.portfolios_added_monthly, party_advisor_kpi_period_adds_mv_next.portfolios_added_quarterly, party_advisor_kpi_period_adds_mv_next.portfolios_added_yearly, party_advisor_kpi_period_adds_mv_next.clients_added_weekly, party_advisor_kpi_period_adds_mv_next.clients_added_monthly, party_advisor_kpi_period_adds_mv_next.clients_added_quarterly, party_advisor_kpi_period_adds_mv_next.clients_added_yearly ], stream key: [ party_advisor_kpi_period_adds_mv_next.user_id ] }
├── Upstream { output: [ user_id, portfolios_added_weekly, portfolios_added_monthly, portfolios_added_quarterly, portfolios_added_yearly, clients_added_weekly, clients_added_monthly, clients_added_quarterly, clients_added_yearly ], stream key: [] }
└── BatchPlanNode { output: [ user_id, portfolios_added_weekly, portfolios_added_monthly, portfolios_added_quarterly, portfolios_added_yearly, clients_added_weekly, clients_added_monthly, clients_added_quarterly, clients_added_yearly ], stream key: [] }

Fragment 64754 (Actor 748127,748126)
StreamTableScan { table: party_advisor_kpi_period_values_mv_next, columns: [user_id, trv_growth_weekly, trv_growth_monthly, trv_growth_quarterly, trv_growth_yearly, net_assets_growth_weekly, net_assets_growth_monthly, net_assets_growth_quarterly, net_assets_growth_yearly, fee_weekly, fee_monthly, fee_quarterly, fee_yearly, gain_loss_weekly, gain_loss_monthly, gain_loss_quarterly, gain_loss_yearly] } { output: [ party_advisor_kpi_period_values_mv_next.user_id, party_advisor_kpi_period_values_mv_next.trv_growth_weekly, party_advisor_kpi_period_values_mv_next.trv_growth_monthly, party_advisor_kpi_period_values_mv_next.trv_growth_quarterly, party_advisor_kpi_period_values_mv_next.trv_growth_yearly, party_advisor_kpi_period_values_mv_next.net_assets_growth_weekly, party_advisor_kpi_period_values_mv_next.net_assets_growth_monthly, party_advisor_kpi_period_values_mv_next.net_assets_growth_quarterly, party_advisor_kpi_period_values_mv_next.net_assets_growth_yearly, party_advisor_kpi_period_values_mv_next.fee_weekly, party_advisor_kpi_period_values_mv_next.fee_monthly, party_advisor_kpi_period_values_mv_next.fee_quarterly, party_advisor_kpi_period_values_mv_next.fee_yearly, party_advisor_kpi_period_values_mv_next.gain_loss_weekly, party_advisor_kpi_period_values_mv_next.gain_loss_monthly, party_advisor_kpi_period_values_mv_next.gain_loss_quarterly, party_advisor_kpi_period_values_mv_next.gain_loss_yearly ], stream key: [ party_advisor_kpi_period_values_mv_next.user_id ] }
├── Upstream { output: [ user_id, trv_growth_weekly, trv_growth_monthly, trv_growth_quarterly, trv_growth_yearly, net_assets_growth_weekly, net_assets_growth_monthly, net_assets_growth_quarterly, net_assets_growth_yearly, fee_weekly, fee_monthly, fee_quarterly, fee_yearly, gain_loss_weekly, gain_loss_monthly, gain_loss_quarterly, gain_loss_yearly ], stream key: [] }
└── BatchPlanNode { output: [ user_id, trv_growth_weekly, trv_growth_monthly, trv_growth_quarterly, trv_growth_yearly, net_assets_growth_weekly, net_assets_growth_monthly, net_assets_growth_quarterly, net_assets_growth_yearly, fee_weekly, fee_monthly, fee_quarterly, fee_yearly, gain_loss_weekly, gain_loss_monthly, gain_loss_quarterly, gain_loss_yearly ], stream key: [] }