Job is idle — throughput ~0; structure shown.
Fragment 12202 (Actor 33283,33284)
StreamMaterialize { columns: [account_id, asset_id, dim_value_date, type, currency_code, market_value, average_cost_per_unit, purchased_quantity, settled_cash_series_mv.dim_settlement_date(hidden), $expr2(hidden)], stream_key: [account_id, asset_id, currency_code, settled_cash_series_mv.dim_settlement_date, $expr2, dim_value_date], pk_columns: [account_id, asset_id, currency_code, settled_cash_series_mv.dim_settlement_date, $expr2, dim_value_date], pk_conflict: NoCheck }
├── output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, asset_prices_eod_ft_next.date, 'ASSET':Varchar, settled_cash_series_mv.currency_code, $expr4, asset_prices_eod_ft_next.close, settled_cash_series_mv.settled_cash_balance, settled_cash_series_mv.dim_settlement_date, $expr2 ]
├── stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, $expr2, asset_prices_eod_ft_next.date ]
└── StreamProject { exprs: [settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, asset_prices_eod_ft_next.date, 'ASSET':Varchar, settled_cash_series_mv.currency_code, (settled_cash_series_mv.settled_cash_balance * asset_prices_eod_ft_next.close) as $expr4, asset_prices_eod_ft_next.close, settled_cash_series_mv.settled_cash_balance, settled_cash_series_mv.dim_settlement_date, $expr2] }
├── output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, asset_prices_eod_ft_next.date, 'ASSET':Varchar, settled_cash_series_mv.currency_code, $expr4, asset_prices_eod_ft_next.close, settled_cash_series_mv.settled_cash_balance, settled_cash_series_mv.dim_settlement_date, $expr2 ]
├── stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, $expr2, asset_prices_eod_ft_next.date ]
└── StreamFilter { predicate: (asset_prices_eod_ft_next.date >= settled_cash_series_mv.dim_settlement_date) AND (IsNull(first_value) OR (asset_prices_eod_ft_next.date < first_value)) }
├── output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance, first_value, $expr2, asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date, asset_prices_eod_ft_next.close, $expr3 ]
├── stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, $expr2, asset_prices_eod_ft_next.date ]
└── StreamHashJoin { type: Inner, predicate: settled_cash_series_mv.asset_id = asset_prices_eod_ft_next.asset_id AND $expr2 = $expr3 }
├── output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance, first_value, $expr2, asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date, asset_prices_eod_ft_next.close, $expr3 ]
├── stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, $expr2, asset_prices_eod_ft_next.date ]
├── MergeExecutor { output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance, first_value, $expr2, asset_prices_eod_ft_next.asset_id ], stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, $expr2 ] }
└── MergeExecutor { output: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date, asset_prices_eod_ft_next.close, $expr3 ], stream key: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date ] }
Fragment 12203 (Actor 33285,33286)
StreamProject { exprs: [settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance, first_value, $expr2, asset_prices_eod_ft_next.asset_id] }
├── output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance, first_value, $expr2, asset_prices_eod_ft_next.asset_id ]
├── stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, $expr2 ]
└── StreamFilter { predicate: ($expr1 <= $expr2) AND (IsNull(first_value) OR ($expr2 <= first_value)) }
├── output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance, first_value, $expr1, asset_prices_eod_ft_next.asset_id, $expr2 ]
├── stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, $expr2 ]
└── StreamHashJoin { type: Inner, predicate: settled_cash_series_mv.asset_id = asset_prices_eod_ft_next.asset_id }
├── output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance, first_value, $expr1, asset_prices_eod_ft_next.asset_id, $expr2 ]
├── stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, $expr2 ]
├── MergeExecutor { output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance, first_value, $expr1 ], stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date ] }
└── MergeExecutor { output: [ asset_prices_eod_ft_next.asset_id, $expr2 ], stream key: [ asset_prices_eod_ft_next.asset_id, $expr2 ] }
Fragment 12204 (Actor 33299,33300)
StreamProject { exprs: [settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance, first_value, AtTimeZone(DateTrunc('MONTH':Varchar, AtTimeZone(settled_cash_series_mv.dim_settlement_date::Timestamp, 'UTC':Varchar), 'UTC':Varchar), 'UTC':Varchar)::Date as $expr1] }
├── output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance, first_value, $expr1 ]
├── stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date ]
└── StreamOverWindow { window_functions: [first_value(settled_cash_series_mv.dim_settlement_date) OVER(PARTITION BY settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code ORDER BY settled_cash_series_mv.dim_settlement_date ASC ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING)] }
├── output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance, first_value ]
├── stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date ]
└── StreamTableScan { table: settled_cash_series_mv, columns: [account_id, asset_id, currency_code, dim_settlement_date, settled_cash_balance] }
├── output: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date, settled_cash_series_mv.settled_cash_balance ]
├── stream key: [ settled_cash_series_mv.account_id, settled_cash_series_mv.asset_id, settled_cash_series_mv.currency_code, settled_cash_series_mv.dim_settlement_date ]
├── Upstream { output: [ account_id, asset_id, currency_code, dim_settlement_date, settled_cash_balance ], stream key: [] }
└── BatchPlanNode { output: [ account_id, asset_id, currency_code, dim_settlement_date, settled_cash_balance ], stream key: [] }
Fragment 12205 (Actor 33287,33288)
StreamProject { exprs: [asset_prices_eod_ft_next.asset_id, $expr2] } { output: [ asset_prices_eod_ft_next.asset_id, $expr2 ], stream key: [ asset_prices_eod_ft_next.asset_id, $expr2 ] }
└── StreamHashAgg { group_key: [asset_prices_eod_ft_next.asset_id, $expr2], aggs: [count] } { output: [ asset_prices_eod_ft_next.asset_id, $expr2, count ], stream key: [ asset_prices_eod_ft_next.asset_id, $expr2 ] }
└── MergeExecutor { output: [ asset_prices_eod_ft_next.asset_id, $expr2, asset_prices_eod_ft_next.date ], stream key: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date ] }
Fragment 12206 (Actor 33304,33303)
StreamProject { exprs: [asset_prices_eod_ft_next.asset_id, AtTimeZone(DateTrunc('MONTH':Varchar, AtTimeZone(asset_prices_eod_ft_next.date::Timestamp, 'UTC':Varchar), 'UTC':Varchar), 'UTC':Varchar)::Date as $expr2, asset_prices_eod_ft_next.date], output_watermarks: [[asset_prices_eod_ft_next.date]] } { output: [ asset_prices_eod_ft_next.asset_id, $expr2, asset_prices_eod_ft_next.date ], stream key: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date ] }
└── MergeExecutor { output: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date, asset_prices_eod_ft_next.close ], stream key: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date ] }
Fragment 12207 (Actor 33305,33306)
StreamFilter { predicate: Not(IsNull(asset_prices_eod_ft_next.close)) } { output: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date, asset_prices_eod_ft_next.close ], stream key: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date ] }
└── StreamTableScan { table: asset_prices_eod_ft_next, columns: [asset_id, date, close] } { output: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date, asset_prices_eod_ft_next.close ], stream key: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date ] }
├── Upstream { output: [ asset_id, date, close ], stream key: [] }
└── BatchPlanNode { output: [ asset_id, date, close ], stream key: [] }
Fragment 12208 (Actor 33302,33301)
StreamProject { exprs: [asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date, asset_prices_eod_ft_next.close, AtTimeZone(DateTrunc('MONTH':Varchar, AtTimeZone(asset_prices_eod_ft_next.date::Timestamp, 'UTC':Varchar), 'UTC':Varchar), 'UTC':Varchar)::Date as $expr3], output_watermarks: [[asset_prices_eod_ft_next.date]] }
├── output: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date, asset_prices_eod_ft_next.close, $expr3 ]
├── stream key: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date ]
└── MergeExecutor { output: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date, asset_prices_eod_ft_next.close ], stream key: [ asset_prices_eod_ft_next.asset_id, asset_prices_eod_ft_next.date ] }