|
384 | 384 | │ └─LogicalProject { exprs: [window_start, auction] } |
385 | 385 | │ └─LogicalHopWindow { time_col: date_time, slide: 00:00:02, size: 00:00:10, output: all } |
386 | 386 | │ └─LogicalFilter { predicate: IsNotNull(date_time) } |
387 | | - │ └─LogicalSource { source: bid, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
| 387 | + │ └─LogicalSource { source: bid, is_shared: true, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
388 | 388 | └─LogicalProject { exprs: [max(count), window_start] } |
389 | 389 | └─LogicalAgg { group_key: [window_start], aggs: [max(count)] } |
390 | 390 | └─LogicalProject { exprs: [window_start, count] } |
|
393 | 393 | └─LogicalProject { exprs: [auction, window_start] } |
394 | 394 | └─LogicalHopWindow { time_col: date_time, slide: 00:00:02, size: 00:00:10, output: all } |
395 | 395 | └─LogicalFilter { predicate: IsNotNull(date_time) } |
396 | | - └─LogicalSource { source: bid, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
| 396 | + └─LogicalSource { source: bid, is_shared: true, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
397 | 397 | batch_plan: |- |
398 | 398 | BatchExchange { order: [], dist: Single } |
399 | 399 | └─BatchHashJoin { type: Inner, predicate: window_start = window_start AND (count >= max(count)), output: [auction, count] } |
|
851 | 851 | └─LogicalProject { exprs: [id, item_name, description, initial_bid, reserve, date_time, expires, seller, category, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id, auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
852 | 852 | └─LogicalFilter { predicate: (id = auction) AND (date_time >= date_time) AND (date_time <= expires) } |
853 | 853 | └─LogicalJoin { type: Inner, on: true, output: all } |
854 | | - ├─LogicalSource { source: auction, columns: [id, item_name, description, initial_bid, reserve, date_time, expires, seller, category, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
855 | | - └─LogicalSource { source: bid, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
| 854 | + ├─LogicalSource { source: auction, is_shared: true, columns: [id, item_name, description, initial_bid, reserve, date_time, expires, seller, category, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
| 855 | + └─LogicalSource { source: bid, is_shared: true, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
856 | 856 | optimized_logical_plan_for_batch: |- |
857 | 857 | LogicalTopN { order: [price DESC, date_time ASC], limit: 1, offset: 0, group_key: [id] } |
858 | 858 | └─LogicalJoin { type: Inner, on: (id = auction) AND (date_time >= date_time) AND (date_time <= expires), output: [id, item_name, description, initial_bid, reserve, date_time, expires, seller, category, auction, bidder, price, date_time] } |
|
1489 | 1489 | └─LogicalProject { exprs: [auction, bidder, price, channel, url, date_time, extra, row_number] } |
1490 | 1490 | └─LogicalOverWindow { window_functions: [row_number() OVER(PARTITION BY bidder, auction ORDER BY date_time DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)] } |
1491 | 1491 | └─LogicalProject { exprs: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
1492 | | - └─LogicalSource { source: bid, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
| 1492 | + └─LogicalSource { source: bid, is_shared: true, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
1493 | 1493 | batch_plan: |- |
1494 | 1494 | BatchExchange { order: [], dist: Single } |
1495 | 1495 | └─BatchGroupTopN { order: [date_time DESC], limit: 1, offset: 0, group_key: [bidder, auction] } |
|
1548 | 1548 | └─LogicalProject { exprs: [auction, bidder, price, channel, url, date_time, extra, rank] } |
1549 | 1549 | └─LogicalOverWindow { window_functions: [rank() OVER(PARTITION BY bidder, auction ORDER BY date_time DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)] } |
1550 | 1550 | └─LogicalProject { exprs: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
1551 | | - └─LogicalSource { source: bid, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
| 1551 | + └─LogicalSource { source: bid, is_shared: true, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
1552 | 1552 | batch_plan: |- |
1553 | 1553 | BatchExchange { order: [], dist: Single } |
1554 | 1554 | └─BatchGroupTopN { order: [date_time DESC], limit: 1, offset: 0, with_ties: true, group_key: [bidder, auction] } |
|
1603 | 1603 | └─LogicalProject { exprs: [auction, bidder, price, channel, url, date_time, extra, row_number] } |
1604 | 1604 | └─LogicalOverWindow { window_functions: [row_number() OVER(PARTITION BY auction ORDER BY price DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)] } |
1605 | 1605 | └─LogicalProject { exprs: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
1606 | | - └─LogicalSource { source: bid, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
| 1606 | + └─LogicalSource { source: bid, is_shared: true, columns: [auction, bidder, price, channel, url, date_time, extra, _rw_kafka_timestamp, _rw_kafka_partition, _rw_kafka_offset, _row_id] } |
1607 | 1607 | batch_plan: |- |
1608 | 1608 | BatchExchange { order: [], dist: Single } |
1609 | 1609 | └─BatchOverWindow { window_functions: [row_number() OVER(PARTITION BY auction ORDER BY price DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)] } |
|
0 commit comments