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

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

Job is idle — throughput ~0; structure shown.

62 operators
Materialize · alinma_bff.account_latest_facts_mv
0% idle 2 actors
Union
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
GroupTopN
0% idle 2 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · financing_accounts_ft
2 actors
Filter · financing_accounts_ft
0% idle 2 actors
StreamScan · financing_accounts_ft
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
GroupTopN
0% idle 2 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · credit_card_accounts_ft
2 actors
Filter · credit_card_accounts_ft
0% idle 2 actors
StreamScan · credit_card_accounts_ft
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
GroupTopN
0% idle 2 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · fixed_deposit_accounts_ft
2 actors
Filter · fixed_deposit_accounts_ft
0% idle 2 actors
StreamScan · fixed_deposit_accounts_ft
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
GroupTopN
0% idle 2 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · transactional_accounts_ft
2 actors
Filter · transactional_accounts_ft
0% idle 2 actors
StreamScan · transactional_accounts_ft
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
GroupTopN
0% idle 2 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · investment_accounts_ft
2 actors
Filter · investment_accounts_ft
0% idle 2 actors
StreamScan · investment_accounts_ft
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.account_latest_facts_mv Materialize alinma_bff.account_late… idle · 2 actors Union Union idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors GroupTopN GroupTopN idle · 2 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · financing_accounts_ft Project financing_accounts_ft — · 2 actors Filter · financing_accounts_ft Filter financing_accounts_ft idle · 2 actors StreamScan · financing_accounts_ft StreamScan financing_accounts_ft idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors GroupTopN GroupTopN idle · 2 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · credit_card_accounts_ft Project credit_card_accounts_ft — · 2 actors Filter · credit_card_accounts_ft Filter credit_card_accounts_ft idle · 2 actors StreamScan · credit_card_accounts_ft StreamScan credit_card_accounts_ft idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors GroupTopN GroupTopN idle · 2 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · fixed_deposit_accounts_ft Project fixed_deposit_accounts_… — · 2 actors Filter · fixed_deposit_accounts_ft Filter fixed_deposit_accounts_… idle · 2 actors StreamScan · fixed_deposit_accounts_ft StreamScan fixed_deposit_accounts_… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors GroupTopN GroupTopN idle · 2 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · transactional_accounts_ft Project transactional_accounts_… — · 2 actors Filter · transactional_accounts_ft Filter transactional_accounts_… idle · 2 actors StreamScan · transactional_accounts_ft StreamScan transactional_accounts_… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors GroupTopN GroupTopN idle · 2 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · investment_accounts_ft Project investment_accounts_ft — · 2 actors Filter · investment_accounts_ft Filter investment_accounts_ft idle · 2 actors StreamScan · investment_accounts_ft StreamScan investment_accounts_ft 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 51615 (Actor 736059,736060)
StreamMaterialize { columns: [account_id, available_balance, hold_balance, purchasing_power, profit_rate, profit_accrued, principal, auto_renewal_status, credit_limit, last_statement_balance, minimum_payment_due, payment_due_date, financing_limit, outstanding_balance, $src(hidden)], stream_key: [account_id, $src], pk_columns: [account_id, $src], pk_conflict: NoCheck }
├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power, null:Decimal, null:Decimal, null:Decimal, null:Varchar, null:Decimal, null:Decimal, null:Decimal, null:Date, null:Decimal, null:Decimal, $src ]
├── stream key: [ investment_accounts_ft.account_id, $src ]
└── StreamUnion { all: true }
    ├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power, null:Decimal, null:Decimal, null:Decimal, null:Varchar, null:Decimal, null:Decimal, null:Decimal, null:Date, null:Decimal, null:Decimal, $src ]
    ├── stream key: [ investment_accounts_ft.account_id, $src ]
    ├── MergeExecutor
    │   ├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power, null:Decimal, null:Decimal, null:Decimal, null:Varchar, null:Decimal, null:Decimal, null:Decimal, null:Date, null:Decimal, null:Decimal, 0:Int32 ]
    │   └── stream key: [ investment_accounts_ft.account_id ]
    ├── MergeExecutor
    │   ├── output: [ transactional_accounts_ft.account_id, transactional_accounts_ft.available_balance, transactional_accounts_ft.hold_balance, null:Decimal, transactional_accounts_ft.profit_rate, transactional_accounts_ft.profit_accrued, null:Decimal, null:Varchar, null:Decimal, null:Decimal, null:Decimal, null:Date, null:Decimal, null:Decimal, 1:Int32 ]
    │   └── stream key: [ transactional_accounts_ft.account_id ]
    ├── MergeExecutor
    │   ├── output: [ fixed_deposit_accounts_ft.account_id, null:Decimal, null:Decimal, null:Decimal, fixed_deposit_accounts_ft.profit_rate, fixed_deposit_accounts_ft.profit_accrued, fixed_deposit_accounts_ft.principal, fixed_deposit_accounts_ft.auto_renewal_status, null:Decimal, null:Decimal, null:Decimal, null:Date, null:Decimal, null:Decimal, 2:Int32 ]
    │   └── stream key: [ fixed_deposit_accounts_ft.account_id ]
    ├── MergeExecutor
    │   ├── output: [ credit_card_accounts_ft.account_id, null:Decimal, null:Decimal, null:Decimal, null:Decimal, null:Decimal, null:Decimal, null:Varchar, credit_card_accounts_ft.credit_limit, credit_card_accounts_ft.last_statement_balance, credit_card_accounts_ft.minimum_payment_due, credit_card_accounts_ft.payment_due_date, null:Decimal, null:Decimal, 3:Int32 ]
    │   └── stream key: [ credit_card_accounts_ft.account_id ]
    └── MergeExecutor
        ├── output: [ financing_accounts_ft.account_id, null:Decimal, null:Decimal, null:Decimal, financing_accounts_ft.profit_rate, null:Decimal, null:Decimal, null:Varchar, null:Decimal, null:Decimal, null:Decimal, null:Date, financing_accounts_ft.financing_limit, financing_accounts_ft.outstanding_balance, 4:Int32 ]
        └── stream key: [ financing_accounts_ft.account_id ]

Fragment 51616 (Actor 736125,736124)
StreamProject { exprs: [investment_accounts_ft.account_id, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power, null:Decimal, null:Decimal, null:Decimal, null:Varchar, null:Decimal, null:Decimal, null:Decimal, null:Date, null:Decimal, null:Decimal, 0:Int32] }
├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power, null:Decimal, null:Decimal, null:Decimal, null:Varchar, null:Decimal, null:Decimal, null:Decimal, null:Date, null:Decimal, null:Decimal, 0:Int32 ]
├── stream key: [ investment_accounts_ft.account_id ]
└── StreamGroupTopN { order: [investment_accounts_ft.fact_date DESC], limit: 1, offset: 0, group_key: [investment_accounts_ft.account_id] }
    ├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power ]
    ├── stream key: [ investment_accounts_ft.account_id ]
    └── StreamLocalityProvider { locality_columns: [investment_accounts_ft.account_id] }
        ├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power ]
        ├── stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date ]
        └── MergeExecutor { output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power ], stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date ] }

Fragment 51617 (Actor 736232,736231)
StreamProject { exprs: [investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power], output_watermarks: [[investment_accounts_ft.fact_date]] }
├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power ]
├── stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date ]
└── StreamFilter { predicate: IsNull(investment_accounts_ft.disabled_at) }
    ├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power, investment_accounts_ft.disabled_at ]
    ├── stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date ]
    └── StreamTableScan { table: investment_accounts_ft, columns: [account_id, fact_date, available_balance, hold_balance, purchasing_power, disabled_at] }
        ├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.available_balance, investment_accounts_ft.hold_balance, investment_accounts_ft.purchasing_power, investment_accounts_ft.disabled_at ]
        ├── stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date ]
        ├── Upstream { output: [ account_id, fact_date, available_balance, hold_balance, purchasing_power, disabled_at ], stream key: [] }
        └── BatchPlanNode { output: [ account_id, fact_date, available_balance, hold_balance, purchasing_power, disabled_at ], stream key: [] }

Fragment 51618 (Actor 736127,736126)
StreamProject { exprs: [transactional_accounts_ft.account_id, transactional_accounts_ft.available_balance, transactional_accounts_ft.hold_balance, null:Decimal, transactional_accounts_ft.profit_rate, transactional_accounts_ft.profit_accrued, null:Decimal, null:Varchar, null:Decimal, null:Decimal, null:Decimal, null:Date, null:Decimal, null:Decimal, 1:Int32] }
├── output: [ transactional_accounts_ft.account_id, transactional_accounts_ft.available_balance, transactional_accounts_ft.hold_balance, null:Decimal, transactional_accounts_ft.profit_rate, transactional_accounts_ft.profit_accrued, null:Decimal, null:Varchar, null:Decimal, null:Decimal, null:Decimal, null:Date, null:Decimal, null:Decimal, 1:Int32 ]
├── stream key: [ transactional_accounts_ft.account_id ]
└── StreamGroupTopN { order: [transactional_accounts_ft.fact_date DESC], limit: 1, offset: 0, group_key: [transactional_accounts_ft.account_id] }
    ├── output: [ transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date, transactional_accounts_ft.available_balance, transactional_accounts_ft.hold_balance, transactional_accounts_ft.profit_rate, transactional_accounts_ft.profit_accrued ]
    ├── stream key: [ transactional_accounts_ft.account_id ]
    └── StreamLocalityProvider { locality_columns: [transactional_accounts_ft.account_id] }
        ├── output: [ transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date, transactional_accounts_ft.available_balance, transactional_accounts_ft.hold_balance, transactional_accounts_ft.profit_rate, transactional_accounts_ft.profit_accrued ]
        ├── stream key: [ transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date ]
        └── MergeExecutor
            ├── output: [ transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date, transactional_accounts_ft.available_balance, transactional_accounts_ft.hold_balance, transactional_accounts_ft.profit_rate, transactional_accounts_ft.profit_accrued ]
            └── stream key: [ transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date ]

Fragment 51619 (Actor 736234,736233)
StreamProject { exprs: [transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date, transactional_accounts_ft.available_balance, transactional_accounts_ft.hold_balance, transactional_accounts_ft.profit_rate, transactional_accounts_ft.profit_accrued], output_watermarks: [[transactional_accounts_ft.fact_date]] }
├── output: [ transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date, transactional_accounts_ft.available_balance, transactional_accounts_ft.hold_balance, transactional_accounts_ft.profit_rate, transactional_accounts_ft.profit_accrued ]
├── stream key: [ transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date ]
└── StreamFilter { predicate: IsNull(transactional_accounts_ft.disabled_at) }
    ├── output: [ transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date, transactional_accounts_ft.available_balance, transactional_accounts_ft.hold_balance, transactional_accounts_ft.profit_rate, transactional_accounts_ft.profit_accrued, transactional_accounts_ft.disabled_at ]
    ├── stream key: [ transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date ]
    └── StreamTableScan { table: transactional_accounts_ft, columns: [account_id, fact_date, available_balance, hold_balance, profit_rate, profit_accrued, disabled_at] }
        ├── output: [ transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date, transactional_accounts_ft.available_balance, transactional_accounts_ft.hold_balance, transactional_accounts_ft.profit_rate, transactional_accounts_ft.profit_accrued, transactional_accounts_ft.disabled_at ]
        ├── stream key: [ transactional_accounts_ft.account_id, transactional_accounts_ft.fact_date ]
        ├── Upstream { output: [ account_id, fact_date, available_balance, hold_balance, profit_rate, profit_accrued, disabled_at ], stream key: [] }
        └── BatchPlanNode { output: [ account_id, fact_date, available_balance, hold_balance, profit_rate, profit_accrued, disabled_at ], stream key: [] }

Fragment 51620 (Actor 736131,736130)
StreamProject { exprs: [fixed_deposit_accounts_ft.account_id, null:Decimal, null:Decimal, null:Decimal, fixed_deposit_accounts_ft.profit_rate, fixed_deposit_accounts_ft.profit_accrued, fixed_deposit_accounts_ft.principal, fixed_deposit_accounts_ft.auto_renewal_status, null:Decimal, null:Decimal, null:Decimal, null:Date, null:Decimal, null:Decimal, 2:Int32] }
├── output: [ fixed_deposit_accounts_ft.account_id, null:Decimal, null:Decimal, null:Decimal, fixed_deposit_accounts_ft.profit_rate, fixed_deposit_accounts_ft.profit_accrued, fixed_deposit_accounts_ft.principal, fixed_deposit_accounts_ft.auto_renewal_status, null:Decimal, null:Decimal, null:Decimal, null:Date, null:Decimal, null:Decimal, 2:Int32 ]
├── stream key: [ fixed_deposit_accounts_ft.account_id ]
└── StreamGroupTopN { order: [fixed_deposit_accounts_ft.fact_date DESC], limit: 1, offset: 0, group_key: [fixed_deposit_accounts_ft.account_id] }
    ├── output: [ fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date, fixed_deposit_accounts_ft.principal, fixed_deposit_accounts_ft.profit_rate, fixed_deposit_accounts_ft.profit_accrued, fixed_deposit_accounts_ft.auto_renewal_status ]
    ├── stream key: [ fixed_deposit_accounts_ft.account_id ]
    └── StreamLocalityProvider { locality_columns: [fixed_deposit_accounts_ft.account_id] }
        ├── output: [ fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date, fixed_deposit_accounts_ft.principal, fixed_deposit_accounts_ft.profit_rate, fixed_deposit_accounts_ft.profit_accrued, fixed_deposit_accounts_ft.auto_renewal_status ]
        ├── stream key: [ fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date ]
        └── MergeExecutor
            ├── output: [ fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date, fixed_deposit_accounts_ft.principal, fixed_deposit_accounts_ft.profit_rate, fixed_deposit_accounts_ft.profit_accrued, fixed_deposit_accounts_ft.auto_renewal_status ]
            └── stream key: [ fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date ]

Fragment 51621 (Actor 736235,736236)
StreamProject { exprs: [fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date, fixed_deposit_accounts_ft.principal, fixed_deposit_accounts_ft.profit_rate, fixed_deposit_accounts_ft.profit_accrued, fixed_deposit_accounts_ft.auto_renewal_status], output_watermarks: [[fixed_deposit_accounts_ft.fact_date]] }
├── output: [ fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date, fixed_deposit_accounts_ft.principal, fixed_deposit_accounts_ft.profit_rate, fixed_deposit_accounts_ft.profit_accrued, fixed_deposit_accounts_ft.auto_renewal_status ]
├── stream key: [ fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date ]
└── StreamFilter { predicate: IsNull(fixed_deposit_accounts_ft.disabled_at) }
    ├── output: [ fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date, fixed_deposit_accounts_ft.principal, fixed_deposit_accounts_ft.profit_rate, fixed_deposit_accounts_ft.profit_accrued, fixed_deposit_accounts_ft.auto_renewal_status, fixed_deposit_accounts_ft.disabled_at ]
    ├── stream key: [ fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date ]
    └── StreamTableScan { table: fixed_deposit_accounts_ft, columns: [account_id, fact_date, principal, profit_rate, profit_accrued, auto_renewal_status, disabled_at] }
        ├── output: [ fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date, fixed_deposit_accounts_ft.principal, fixed_deposit_accounts_ft.profit_rate, fixed_deposit_accounts_ft.profit_accrued, fixed_deposit_accounts_ft.auto_renewal_status, fixed_deposit_accounts_ft.disabled_at ]
        ├── stream key: [ fixed_deposit_accounts_ft.account_id, fixed_deposit_accounts_ft.fact_date ]
        ├── Upstream { output: [ account_id, fact_date, principal, profit_rate, profit_accrued, auto_renewal_status, disabled_at ], stream key: [] }
        └── BatchPlanNode { output: [ account_id, fact_date, principal, profit_rate, profit_accrued, auto_renewal_status, disabled_at ], stream key: [] }

Fragment 51622 (Actor 736210,736209)
StreamProject { exprs: [credit_card_accounts_ft.account_id, null:Decimal, null:Decimal, null:Decimal, null:Decimal, null:Decimal, null:Decimal, null:Varchar, credit_card_accounts_ft.credit_limit, credit_card_accounts_ft.last_statement_balance, credit_card_accounts_ft.minimum_payment_due, credit_card_accounts_ft.payment_due_date, null:Decimal, null:Decimal, 3:Int32] }
├── output: [ credit_card_accounts_ft.account_id, null:Decimal, null:Decimal, null:Decimal, null:Decimal, null:Decimal, null:Decimal, null:Varchar, credit_card_accounts_ft.credit_limit, credit_card_accounts_ft.last_statement_balance, credit_card_accounts_ft.minimum_payment_due, credit_card_accounts_ft.payment_due_date, null:Decimal, null:Decimal, 3:Int32 ]
├── stream key: [ credit_card_accounts_ft.account_id ]
└── StreamGroupTopN { order: [credit_card_accounts_ft.fact_date DESC], limit: 1, offset: 0, group_key: [credit_card_accounts_ft.account_id] }
    ├── output: [ credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date, credit_card_accounts_ft.credit_limit, credit_card_accounts_ft.last_statement_balance, credit_card_accounts_ft.minimum_payment_due, credit_card_accounts_ft.payment_due_date ]
    ├── stream key: [ credit_card_accounts_ft.account_id ]
    └── StreamLocalityProvider { locality_columns: [credit_card_accounts_ft.account_id] }
        ├── output: [ credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date, credit_card_accounts_ft.credit_limit, credit_card_accounts_ft.last_statement_balance, credit_card_accounts_ft.minimum_payment_due, credit_card_accounts_ft.payment_due_date ]
        ├── stream key: [ credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date ]
        └── MergeExecutor
            ├── output: [ credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date, credit_card_accounts_ft.credit_limit, credit_card_accounts_ft.last_statement_balance, credit_card_accounts_ft.minimum_payment_due, credit_card_accounts_ft.payment_due_date ]
            └── stream key: [ credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date ]

Fragment 51623 (Actor 736238,736237)
StreamProject { exprs: [credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date, credit_card_accounts_ft.credit_limit, credit_card_accounts_ft.last_statement_balance, credit_card_accounts_ft.minimum_payment_due, credit_card_accounts_ft.payment_due_date], output_watermarks: [[credit_card_accounts_ft.fact_date]] }
├── output: [ credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date, credit_card_accounts_ft.credit_limit, credit_card_accounts_ft.last_statement_balance, credit_card_accounts_ft.minimum_payment_due, credit_card_accounts_ft.payment_due_date ]
├── stream key: [ credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date ]
└── StreamFilter { predicate: IsNull(credit_card_accounts_ft.disabled_at) }
    ├── output: [ credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date, credit_card_accounts_ft.credit_limit, credit_card_accounts_ft.last_statement_balance, credit_card_accounts_ft.minimum_payment_due, credit_card_accounts_ft.payment_due_date, credit_card_accounts_ft.disabled_at ]
    ├── stream key: [ credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date ]
    └── StreamTableScan { table: credit_card_accounts_ft, columns: [account_id, fact_date, credit_limit, last_statement_balance, minimum_payment_due, payment_due_date, disabled_at] }
        ├── output: [ credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date, credit_card_accounts_ft.credit_limit, credit_card_accounts_ft.last_statement_balance, credit_card_accounts_ft.minimum_payment_due, credit_card_accounts_ft.payment_due_date, credit_card_accounts_ft.disabled_at ]
        ├── stream key: [ credit_card_accounts_ft.account_id, credit_card_accounts_ft.fact_date ]
        ├── Upstream { output: [ account_id, fact_date, credit_limit, last_statement_balance, minimum_payment_due, payment_due_date, disabled_at ], stream key: [] }
        └── BatchPlanNode { output: [ account_id, fact_date, credit_limit, last_statement_balance, minimum_payment_due, payment_due_date, disabled_at ], stream key: [] }

Fragment 51624 (Actor 736230,736229)
StreamProject { exprs: [financing_accounts_ft.account_id, null:Decimal, null:Decimal, null:Decimal, financing_accounts_ft.profit_rate, null:Decimal, null:Decimal, null:Varchar, null:Decimal, null:Decimal, null:Decimal, null:Date, financing_accounts_ft.financing_limit, financing_accounts_ft.outstanding_balance, 4:Int32] }
├── output: [ financing_accounts_ft.account_id, null:Decimal, null:Decimal, null:Decimal, financing_accounts_ft.profit_rate, null:Decimal, null:Decimal, null:Varchar, null:Decimal, null:Decimal, null:Decimal, null:Date, financing_accounts_ft.financing_limit, financing_accounts_ft.outstanding_balance, 4:Int32 ]
├── stream key: [ financing_accounts_ft.account_id ]
└── StreamGroupTopN { order: [financing_accounts_ft.fact_date DESC], limit: 1, offset: 0, group_key: [financing_accounts_ft.account_id] }
    ├── output: [ financing_accounts_ft.account_id, financing_accounts_ft.fact_date, financing_accounts_ft.profit_rate, financing_accounts_ft.financing_limit, financing_accounts_ft.outstanding_balance ]
    ├── stream key: [ financing_accounts_ft.account_id ]
    └── StreamLocalityProvider { locality_columns: [financing_accounts_ft.account_id] } { output: [ financing_accounts_ft.account_id, financing_accounts_ft.fact_date, financing_accounts_ft.profit_rate, financing_accounts_ft.financing_limit, financing_accounts_ft.outstanding_balance ], stream key: [ financing_accounts_ft.account_id, financing_accounts_ft.fact_date ] }
        └── MergeExecutor { output: [ financing_accounts_ft.account_id, financing_accounts_ft.fact_date, financing_accounts_ft.profit_rate, financing_accounts_ft.financing_limit, financing_accounts_ft.outstanding_balance ], stream key: [ financing_accounts_ft.account_id, financing_accounts_ft.fact_date ] }

Fragment 51625 (Actor 736264,736263)
StreamProject { exprs: [financing_accounts_ft.account_id, financing_accounts_ft.fact_date, financing_accounts_ft.profit_rate, financing_accounts_ft.financing_limit, financing_accounts_ft.outstanding_balance], output_watermarks: [[financing_accounts_ft.fact_date]] }
├── output: [ financing_accounts_ft.account_id, financing_accounts_ft.fact_date, financing_accounts_ft.profit_rate, financing_accounts_ft.financing_limit, financing_accounts_ft.outstanding_balance ]
├── stream key: [ financing_accounts_ft.account_id, financing_accounts_ft.fact_date ]
└── StreamFilter { predicate: IsNull(financing_accounts_ft.disabled_at) }
    ├── output: [ financing_accounts_ft.account_id, financing_accounts_ft.fact_date, financing_accounts_ft.profit_rate, financing_accounts_ft.financing_limit, financing_accounts_ft.outstanding_balance, financing_accounts_ft.disabled_at ]
    ├── stream key: [ financing_accounts_ft.account_id, financing_accounts_ft.fact_date ]
    └── StreamTableScan { table: financing_accounts_ft, columns: [account_id, fact_date, profit_rate, financing_limit, outstanding_balance, disabled_at] }
        ├── output: [ financing_accounts_ft.account_id, financing_accounts_ft.fact_date, financing_accounts_ft.profit_rate, financing_accounts_ft.financing_limit, financing_accounts_ft.outstanding_balance, financing_accounts_ft.disabled_at ]
        ├── stream key: [ financing_accounts_ft.account_id, financing_accounts_ft.fact_date ]
        ├── Upstream { output: [ account_id, fact_date, profit_rate, financing_limit, outstanding_balance, disabled_at ], stream key: [] }
        └── BatchPlanNode { output: [ account_id, fact_date, profit_rate, financing_limit, outstanding_balance, disabled_at ], stream key: [] }