You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// The OnDemandRepartitionExec operator repartitions the input data based on a push-based model.
64
-
/// It is similar to the RepartitionExec operator, but it doesn't distribute the data to the output
65
-
/// partitions until the output partitions request the data.
66
-
///
67
-
/// When polling, the operator sends the output partition number to the one partition channel, then the prefetch buffer will distribute the data based on the order of the partition number.
68
-
/// Each input steams has a prefetch buffer(channel) to distribute the data to the output partitions.
69
-
///
70
-
/// The following diagram illustrates the data flow of the OnDemandRepartitionExec operator with 3 output partitions for the input stream 1:
/// └─────────────────┘ Distribute data to the output partitions
98
-
///
99
-
/// ```
66
+
/// The OnDemandRepartitionExec operator cannot use the custom DistributionSender and DistributionReceiver because it can prevent channels from filling up endlessly.
/// The OnDemandRepartitionExec operator repartitions the input data based on a push-based model.
230
+
/// It is similar to the RepartitionExec operator, but it doesn't distribute the data to the output
231
+
/// partitions until the output partitions request the data.
232
+
///
233
+
/// When polling, the operator sends the output partition number to the one partition channel, then the prefetch buffer will distribute the data based on the order of the partition number.
234
+
/// Each input steams has a prefetch buffer(channel) to distribute the data to the output partitions.
235
+
///
236
+
/// The following diagram illustrates the data flow of the OnDemandRepartitionExec operator with 3 output partitions for the input stream 1:
Copy file name to clipboardExpand all lines: datafusion/sqllogictest/test_files/on_demand_repartition.slt
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -426,7 +426,7 @@ EXPLAIN SELECT
426
426
----
427
427
logical_plan
428
428
01)Projection: sum(aggregate_test_100.c4) PARTITION BY [aggregate_test_100.c1, aggregate_test_100.c2] ORDER BY [aggregate_test_100.c2 ASC NULLS LAST] ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING, count(*) PARTITION BY [aggregate_test_100.c1] ORDER BY [aggregate_test_100.c2 ASC NULLS LAST] ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
429
-
02)--WindowAggr: windowExpr=[[count(Int64(1)) PARTITION BY [aggregate_test_100.c1] ORDER BY [aggregate_test_100.c2 ASC NULLS LAST] ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING AS count(*) PARTITION BY [aggregate_test_100.c1] ORDER BY [aggregate_test_100.c2 ASC NULLS LAST] ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING]]
429
+
02)--WindowAggr: windowExpr=[[count(*) PARTITION BY [aggregate_test_100.c1] ORDER BY [aggregate_test_100.c2 ASC NULLS LAST] ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING]]
430
430
03)----Projection: aggregate_test_100.c1, aggregate_test_100.c2, sum(aggregate_test_100.c4) PARTITION BY [aggregate_test_100.c1, aggregate_test_100.c2] ORDER BY [aggregate_test_100.c2 ASC NULLS LAST] ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
431
431
04)------WindowAggr: windowExpr=[[sum(CAST(aggregate_test_100.c4 AS Int64)) PARTITION BY [aggregate_test_100.c1, aggregate_test_100.c2] ORDER BY [aggregate_test_100.c2 ASC NULLS LAST] ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING]]
0 commit comments