baiguoname commented on issue #18202: URL: https://github.com/apache/datafusion/issues/18202#issuecomment-3435032487
> Can you share the physical plans with and without the
`EnforceDistribution` rule. That would help to pinpoint problem much easier.
>
> I didn't verify but, my suspicion is that when `EnforceDistribution` rule
is on. Generated `PhysicalPlan` is multi partitioned. Likely, partitioning is
done according to hash value of the column `code` (Since you have `partition by
code`). However, cardinality for the `code` is very low, which is 3. Also
likely, `DataFusion` allocates 8 partitions in the final plan. Hence, you have
empty partitions during execution. Top operators wait data from empty
partitions, infinitely and at some point you get a timeout error. However, this
is just my guess I didn't reproduce the code. If you share the plans, we can
discuss further to understand the reason.
With `EnforceDistribution`, I got this:
```json
OutputRequirementExec {
"input": BoundedWindowAggExec {
"input": RepartitionExec {
"input": RepartitionExec {
"input": DynamicExecutionPlan {
"properties": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": UnknownPartitioning(1),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": NonCooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
},
"stream": DynamicRecordBatchStream {
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"receiver": Mutex {
"data": Receiver {
"chan": Rx {
"inner": Chan {
"tx": Tx {
"block_tail": 0x55c8ad4a6990,
"tail_position": 0
},
"semaphore": Semaphore {
"semaphore": Semaphore {
"permits": 100
},
"bound": 100
},
"rx_waker": AtomicWaker,
"tx_count": 1,
"rx_fields": "..."
}
}
}
}
}
},
"state": Mutex {
"data": NotInitialized
},
"metrics": ExecutionPlanMetricsSet {
"inner": Mutex {
"data": MetricsSet {
"metrics": []
}
}
},
"preserve_order": false,
"cache": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": RoundRobinBatch(20),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Eager,
"scheduling_type": Cooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
}
},
"state": Mutex {
"data": NotInitialized
},
"metrics": ExecutionPlanMetricsSet {
"inner": Mutex {
"data": MetricsSet {
"metrics": []
}
}
},
"preserve_order": true,
"cache": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": Hash([Column {
"name": "code",
"index": 1
}
],
20),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Eager,
"scheduling_type": Cooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
}
},
"window_expr": [SlidingAggregateWindowExpr {
"aggregate": AggregateFunctionExpr {
"fun": AggregateUDF {
"inner": Avg {
"signature": Signature {
"type_signature": UserDefined,
"volatility": Immutable
},
"aliases": [
"mean"
]
}
},
"args": [Column {
"name": "factor_value",
"index": 2
}
],
"return_field": Field {
"name": "avg",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
},
"name": "mean",
"human_display": "",
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"order_bys": [],
"ignore_nulls": false,
"ordering_fields": [],
"is_distinct": false,
"is_reversed": false,
"input_fields": [Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"is_nullable": true
},
"partition_by": [Column {
"name": "code",
"index": 1
}
],
"order_by": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"window_frame": WindowFrame {
"units": Rows,
"start_bound": Preceding(UInt64(1)),
"end_bound": CurrentRow,
"is_causal": true
},
"filter": None
}
],
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"metrics": ExecutionPlanMetricsSet {
"inner": Mutex {
"data": MetricsSet {
"metrics": []
}
}
},
"input_order_mode": Linear,
"ordered_partition_by_indices": [],
"cache": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": Hash([Column {
"name": "code",
"index": 1
}
],
20),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": NonCooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
},
"can_repartition": true
},
"order_requirement": None ,
"dist_requirement": UnspecifiedDistribution,
"cache": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": Hash([Column {
"name": "code",
"index": 1
}
],
20),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": NonCooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
},
"fetch": None
}
```
Without it, I got this:
```json
OutputRequirementExec {
"input": BoundedWindowAggExec {
"input": DynamicExecutionPlan {
"properties": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": UnknownPartitioning(1),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": NonCooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
},
"stream": DynamicRecordBatchStream {
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"receiver": Mutex {
"data": Receiver {
"chan": Rx {
"inner": Chan {
"tx": Tx {
"block_tail": 0x563a7826e640,
"tail_position": 0
},
"semaphore": Semaphore {
"semaphore": Semaphore {
"permits": 100
},
"bound": 100
},
"rx_waker": AtomicWaker,
"tx_count": 1,
"rx_fields": "..."
}
}
}
}
}
},
"window_expr": [SlidingAggregateWindowExpr {
"aggregate": AggregateFunctionExpr {
"fun": AggregateUDF {
"inner": Avg {
"signature": Signature {
"type_signature": UserDefined,
"volatility": Immutable
},
"aliases": [
"mean"
]
}
},
"args": [Column {
"name": "factor_value",
"index": 2
}
],
"return_field": Field {
"name": "avg",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
},
"name": "mean",
"human_display": "",
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"order_bys": [],
"ignore_nulls": false,
"ordering_fields": [],
"is_distinct": false,
"is_reversed": false,
"input_fields": [Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"is_nullable": true
},
"partition_by": [Column {
"name": "code",
"index": 1
}
],
"order_by": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"window_frame": WindowFrame {
"units": Rows,
"start_bound": Preceding(UInt64(1)),
"end_bound": CurrentRow,
"is_causal": true
},
"filter": None
}
],
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"metrics": ExecutionPlanMetricsSet {
"inner": Mutex {
"data": MetricsSet {
"metrics": []
}
}
},
"input_order_mode": Sorted,
"ordered_partition_by_indices": [
0
],
"cache": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": UnknownPartitioning(1),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": NonCooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
},
"can_repartition": true
},
"order_requirement": None ,
"dist_requirement": UnspecifiedDistribution,
"cache": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": UnknownPartitioning(1),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": NonCooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
},
"fetch": None
}
```
Yes, it is a problem of `partition`, if I change the `target_partition` in
`SessionConconfig`, and even with `EnforceDistribution` everything works.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
