== Physical Plan ==
AdaptiveSparkPlan (67)
+- == Final Plan ==
* HashAggregate (60)
+- ShuffleQueryStage (59), Statistics(sizeInBytes=16.0 B, rowCount=1)
+- Exchange (58)
+- * HashAggregate (57)
+- * HashAggregate (56)
+- AQEShuffleRead (55)
+- ShuffleQueryStage (54), Statistics(sizeInBytes=5.8 KiB, rowCount=123)
+- Exchange (53)
+- * HashAggregate (52)
+- TableCacheQueryStage (51), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (50)
+- == Final Plan ==
* Project (32)
+- * Generate (31)
+- * Project (30)
+- * Project (29)
+- * BroadcastHashJoin LeftOuter BuildRight (28)
:- ShuffleQueryStage (9), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (8)
: +- ShuffleQueryStage (7), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (6)
: +- * Filter (5)
: +- * ColumnarToRow (4)
: +- Scan parquet (3)
+- BroadcastQueryStage (27), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (26)
+- AQEShuffleRead (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (23)
+- * Project (22)
+- * BroadcastHashJoin LeftOuter BuildRight (21)
:- ShuffleQueryStage (13), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * ColumnarToRow (11)
: +- Scan parquet (10)
+- BroadcastQueryStage (20), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (19)
+- ShuffleQueryStage (18), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (17)
+- * Filter (16)
+- * ColumnarToRow (15)
+- Scan parquet (14)
+- == Initial Plan ==
Project (49)
+- Generate (48)
+- Project (47)
+- Project (46)
+- SortMergeJoin LeftOuter (45)
:- Sort (36)
: +- Exchange (35)
: +- Exchange (34)
: +- Filter (33)
: +- Scan parquet (3)
+- Sort (44)
+- Exchange (43)
+- Project (42)
+- BroadcastHashJoin LeftOuter BuildRight (41)
:- Exchange (37)
: +- Scan parquet (10)
+- BroadcastExchange (40)
+- Exchange (39)
+- Filter (38)
+- Scan parquet (14)
+- == Initial Plan ==
HashAggregate (66)
+- Exchange (65)
+- HashAggregate (64)
+- HashAggregate (63)
+- Exchange (62)
+- HashAggregate (61)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (50)
+- == Final Plan ==
* Project (32)
+- * Generate (31)
+- * Project (30)
+- * Project (29)
+- * BroadcastHashJoin LeftOuter BuildRight (28)
:- ShuffleQueryStage (9), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (8)
: +- ShuffleQueryStage (7), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (6)
: +- * Filter (5)
: +- * ColumnarToRow (4)
: +- Scan parquet (3)
+- BroadcastQueryStage (27), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (26)
+- AQEShuffleRead (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (23)
+- * Project (22)
+- * BroadcastHashJoin LeftOuter BuildRight (21)
:- ShuffleQueryStage (13), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * ColumnarToRow (11)
: +- Scan parquet (10)
+- BroadcastQueryStage (20), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (19)
+- ShuffleQueryStage (18), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (17)
+- * Filter (16)
+- * ColumnarToRow (15)
+- Scan parquet (14)
+- == Initial Plan ==
Project (49)
+- Generate (48)
+- Project (47)
+- Project (46)
+- SortMergeJoin LeftOuter (45)
:- Sort (36)
: +- Exchange (35)
: +- Exchange (34)
: +- Filter (33)
: +- Scan parquet (3)
+- Sort (44)
+- Exchange (43)
+- Project (42)
+- BroadcastHashJoin LeftOuter BuildRight (41)
:- Exchange (37)
: +- Scan parquet (10)
+- BroadcastExchange (40)
+- Exchange (39)
+- Filter (38)
+- Scan parquet (14)
(1) InMemoryTableScan
Output [1]: [plant#3001]
Arguments: [plant#3001]
(2) InMemoryRelation
Arguments: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, product#3315, orderDateTime#3316, availabilityDateTime#3317, nextAvailabilityDateTime#3318, mrpController#3319, sourceOfSupplyUuid#3320, purchasingOrg#3321, purchasingGroup#3322, orderProposalId#3715L, orderProposalHorizonGroupingId#3736L, splitIndicator#4136L], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@763c116,StorageLevel(disk, memory, 2 replicas),AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderScheduleExploded#3301.product AS product#3315, productOrderScheduleExploded#3301.orderDateTime AS orderDateTime#3316, productOrderScheduleExploded#3301.availabilityDateTime AS availabilityDateTime#3317, productOrderScheduleExploded#3301.nextAvailabilityDateTime AS nextAvailabilityDateTime#3318, productOrderScheduleExploded#3301.mrpController AS mrpController#3319, productOrderScheduleExploded#3301.sourceOfSupplyUuid AS sourceOfSupplyUuid#3320, productOrderScheduleExploded#3301.purchasingOrg AS purchasingOrg#3321, productOrderScheduleExploded#3301.purchasingGroup AS purchasingGroup#3322, xxhash64(CASE WHEN (_extract_supplier#4175 <=> true) THEN supplierOrGroup#3208 END, CASE WHEN (_extract_deliveryDate#4176 <=> true) THEN deliveryDateTime#3002 END, CASE WHEN (_extract_orderDate#4177 <=> true) THEN productOrderScheduleExploded#3301.orderDateTime END, CASE WHEN (_extract_supplierSubrange#4178 <=> true) THEN subrange#3003 END, CASE WHEN (_extract_purchasingOrg#4179 <=> true) THEN productOrderScheduleExploded#3301.purchasingOrg END, CASE WHEN (_extract_mrpController#4180 <=> true) THEN productOrderScheduleExploded#3301.mrpController END, orderGroupingProfile#3015, CASE WHEN (_extract_purchasingGroup#4181 <=> true) THEN productOrderScheduleExploded#3301.purchasingGroup END, locationOrGroup#3220, ((((((((CASE WHEN (isnull(supplierOrGroup#3208) AND (_extract_supplier#4175 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#3002) AND (_extract_deliveryDate#4176 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.orderDateTime) AND (_extract_orderDate#4177 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#3003) AND (_extract_supplierSubrange#4178 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingOrg) AND (_extract_purchasingOrg#4179 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.mrpController) AND (_extract_mrpController#4180 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#3015) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingGroup) AND (_extract_purchasingGroup#4181 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#3220) THEN 256 ELSE 0 END), 10000000095, 42) AS orderProposalId#3715L, 0 AS orderProposalHorizonGroupingId#3736L, xxhash64(CASE WHEN (_extract_purchasingOrg#4182 <=> true) THEN productOrderScheduleExploded#3301.purchasingOrg END, CASE WHEN (_extract_deliveryDate#4183 <=> true) THEN deliveryDateTime#3002 END, CASE WHEN (_extract_supplier#4184 <=> true) THEN supplier#3000 END, CASE WHEN (_extract_supplierSubrange#4185 <=> true) THEN subrange#3003 END, CASE WHEN (_extract_orderDate#4186 <=> true) THEN productOrderScheduleExploded#3301.orderDateTime END, CASE WHEN (_extract_mrpController#4187 <=> true) THEN productOrderScheduleExploded#3301.mrpController END, orderGroupingProfile#3015, CASE WHEN (_extract_purchasingGroup#4188 <=> true) THEN productOrderScheduleExploded#3301.purchasingGroup END, plant#3001, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingOrg) AND (_extract_purchasingOrg#4182 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#3002) AND (_extract_deliveryDate#4183 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#3000) AND (_extract_supplier#4184 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#3003) AND (_extract_supplierSubrange#4185 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.orderDateTime) AND (_extract_orderDate#4186 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.mrpController) AND (_extract_mrpController#4187 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#3015) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingGroup) AND (_extract_purchasingGroup#4188 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#3001) THEN 256 ELSE 0 END), 10000000095, 42) AS splitIndicator#4136L]
+- *(5) Generate explode(productOrderSchedule#3004), [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, _extract_supplier#4175, _extract_deliveryDate#4176, _extract_orderDate#4177, _extract_supplierSubrange#4178, _extract_purchasingOrg#4179, _extract_mrpController#4180, _extract_purchasingGroup#4181, _extract_purchasingOrg#4182, _extract_deliveryDate#4183, _extract_supplier#4184, _extract_supplierSubrange#4185, _extract_orderDate#4186, _extract_mrpController#4187, _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220], false, [productOrderScheduleExploded#3301]
+- *(5) Project [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, orderGroupCriteria#3265.supplier AS _extract_supplier#4175, orderGroupCriteria#3265.deliveryDate AS _extract_deliveryDate#4176, orderGroupCriteria#3265.orderDate AS _extract_orderDate#4177, orderGroupCriteria#3265.supplierSubrange AS _extract_supplierSubrange#4178, orderGroupCriteria#3265.purchasingOrg AS _extract_purchasingOrg#4179, orderGroupCriteria#3265.mrpController AS _extract_mrpController#4180, orderGroupCriteria#3265.purchasingGroup AS _extract_purchasingGroup#4181, orderSplitCriteria#3287.purchasingOrg AS _extract_purchasingOrg#4182, orderSplitCriteria#3287.deliveryDate AS _extract_deliveryDate#4183, orderSplitCriteria#3287.supplier AS _extract_supplier#4184, orderSplitCriteria#3287.supplierSubrange AS _extract_supplierSubrange#4185, orderSplitCriteria#3287.orderDate AS _extract_orderDate#4186, orderSplitCriteria#3287.mrpController AS _extract_mrpController#4187, orderSplitCriteria#3287.purchasingGroup AS _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220]
+- *(5) Project [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, CASE WHEN isnull(orderGroupCriteria#3111) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#3111 END AS orderGroupCriteria#3265, CASE WHEN isnull(orderSplitCriteria#3112) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#3112 END AS orderSplitCriteria#3287, orderGroupingProfile#3015, coalesce(supplierGroup#2999, supplier#3000) AS supplierOrGroup#3208, coalesce(locationGroup#3017, plant#3001) AS locationOrGroup#3220]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#2999, ), isnull(supplierGroup#2999), coalesce(supplier#3000, ), isnull(supplier#3000), coalesce(subrange#3003, ), isnull(subrange#3003), coalesce(plant#3001, ), isnull(plant#3001), coalesce(deliveryDateTime#3002, 1970-01-01 00:00:00), isnull(deliveryDateTime#3002)], [coalesce(supplierGroup#3016, ), isnull(supplierGroup#3016), coalesce(supplier#3011, ), isnull(supplier#3011), coalesce(subrange#3012, ), isnull(subrange#3012), coalesce(plant#3013, ), isnull(plant#3013), coalesce(deliveryDateTime#3014, 1970-01-01 00:00:00), isnull(deliveryDateTime#3014)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 4
: +- Exchange hashpartitioning(coalesce(supplierGroup#2999, ), isnull(supplierGroup#2999), coalesce(supplier#3000, ), isnull(supplier#3000), coalesce(subrange#3003, ), isnull(subrange#3003), coalesce(plant#3001, ), isnull(plant#3001), coalesce(deliveryDateTime#3002, 1970-01-01 00:00:00), isnull(deliveryDateTime#3002), 25), ENSURE_REQUIREMENTS, [plan_id=1716]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1708]
: +- *(1) Filter ((size(productOrderSchedule#3004, true) > 0) AND isnotnull(productOrderSchedule#3004))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#2999,supplier#3000,plant#3001,deliveryDateTime#3002,subrange#3003,productOrderSchedule#3004] Batched: true, DataFilters: [(size(productOrderSchedule#3004, true) > 0), isnotnull(productOrderSchedule#3004)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=2025]
+- AQEShuffleRead local
+- ShuffleQueryStage 5
+- Exchange hashpartitioning(coalesce(supplierGroup#3016, ), isnull(supplierGroup#3016), coalesce(supplier#3011, ), isnull(supplier#3011), coalesce(subrange#3012, ), isnull(subrange#3012), coalesce(plant#3013, ), isnull(plant#3013), coalesce(deliveryDateTime#3014, 1970-01-01 00:00:00), isnull(deliveryDateTime#3014), 25), ENSURE_REQUIREMENTS, [plan_id=1955]
+- *(4) Project [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
+- *(4) BroadcastHashJoin [orderGroupingProfile#3015], [orderGroupingProfile#3109], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1736]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#3011,subrange#3012,plant#3013,deliverydatetime#3014,ordergroupingprofile#3015,supplierGroup#3016,locationGroup#3017] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=1757]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1749]
+- *(3) Filter isnotnull(orderGroupingProfile#3109)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#3109,orderGroupCriteria#3111,orderSplitCriteria#3112] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#3109)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderScheduleExploded#3301.product AS product#3315, productOrderScheduleExploded#3301.orderDateTime AS orderDateTime#3316, productOrderScheduleExploded#3301.availabilityDateTime AS availabilityDateTime#3317, productOrderScheduleExploded#3301.nextAvailabilityDateTime AS nextAvailabilityDateTime#3318, productOrderScheduleExploded#3301.mrpController AS mrpController#3319, productOrderScheduleExploded#3301.sourceOfSupplyUuid AS sourceOfSupplyUuid#3320, productOrderScheduleExploded#3301.purchasingOrg AS purchasingOrg#3321, productOrderScheduleExploded#3301.purchasingGroup AS purchasingGroup#3322, xxhash64(CASE WHEN (_extract_supplier#4175 <=> true) THEN supplierOrGroup#3208 END, CASE WHEN (_extract_deliveryDate#4176 <=> true) THEN deliveryDateTime#3002 END, CASE WHEN (_extract_orderDate#4177 <=> true) THEN productOrderScheduleExploded#3301.orderDateTime END, CASE WHEN (_extract_supplierSubrange#4178 <=> true) THEN subrange#3003 END, CASE WHEN (_extract_purchasingOrg#4179 <=> true) THEN productOrderScheduleExploded#3301.purchasingOrg END, CASE WHEN (_extract_mrpController#4180 <=> true) THEN productOrderScheduleExploded#3301.mrpController END, orderGroupingProfile#3015, CASE WHEN (_extract_purchasingGroup#4181 <=> true) THEN productOrderScheduleExploded#3301.purchasingGroup END, locationOrGroup#3220, ((((((((CASE WHEN (isnull(supplierOrGroup#3208) AND (_extract_supplier#4175 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#3002) AND (_extract_deliveryDate#4176 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.orderDateTime) AND (_extract_orderDate#4177 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#3003) AND (_extract_supplierSubrange#4178 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingOrg) AND (_extract_purchasingOrg#4179 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.mrpController) AND (_extract_mrpController#4180 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#3015) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingGroup) AND (_extract_purchasingGroup#4181 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#3220) THEN 256 ELSE 0 END), 10000000095, 42) AS orderProposalId#3715L, 0 AS orderProposalHorizonGroupingId#3736L, xxhash64(CASE WHEN (_extract_purchasingOrg#4182 <=> true) THEN productOrderScheduleExploded#3301.purchasingOrg END, CASE WHEN (_extract_deliveryDate#4183 <=> true) THEN deliveryDateTime#3002 END, CASE WHEN (_extract_supplier#4184 <=> true) THEN supplier#3000 END, CASE WHEN (_extract_supplierSubrange#4185 <=> true) THEN subrange#3003 END, CASE WHEN (_extract_orderDate#4186 <=> true) THEN productOrderScheduleExploded#3301.orderDateTime END, CASE WHEN (_extract_mrpController#4187 <=> true) THEN productOrderScheduleExploded#3301.mrpController END, orderGroupingProfile#3015, CASE WHEN (_extract_purchasingGroup#4188 <=> true) THEN productOrderScheduleExploded#3301.purchasingGroup END, plant#3001, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingOrg) AND (_extract_purchasingOrg#4182 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#3002) AND (_extract_deliveryDate#4183 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#3000) AND (_extract_supplier#4184 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#3003) AND (_extract_supplierSubrange#4185 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.orderDateTime) AND (_extract_orderDate#4186 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.mrpController) AND (_extract_mrpController#4187 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#3015) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingGroup) AND (_extract_purchasingGroup#4188 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#3001) THEN 256 ELSE 0 END), 10000000095, 42) AS splitIndicator#4136L]
+- Generate explode(productOrderSchedule#3004), [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, _extract_supplier#4175, _extract_deliveryDate#4176, _extract_orderDate#4177, _extract_supplierSubrange#4178, _extract_purchasingOrg#4179, _extract_mrpController#4180, _extract_purchasingGroup#4181, _extract_purchasingOrg#4182, _extract_deliveryDate#4183, _extract_supplier#4184, _extract_supplierSubrange#4185, _extract_orderDate#4186, _extract_mrpController#4187, _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220], false, [productOrderScheduleExploded#3301]
+- Project [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, orderGroupCriteria#3265.supplier AS _extract_supplier#4175, orderGroupCriteria#3265.deliveryDate AS _extract_deliveryDate#4176, orderGroupCriteria#3265.orderDate AS _extract_orderDate#4177, orderGroupCriteria#3265.supplierSubrange AS _extract_supplierSubrange#4178, orderGroupCriteria#3265.purchasingOrg AS _extract_purchasingOrg#4179, orderGroupCriteria#3265.mrpController AS _extract_mrpController#4180, orderGroupCriteria#3265.purchasingGroup AS _extract_purchasingGroup#4181, orderSplitCriteria#3287.purchasingOrg AS _extract_purchasingOrg#4182, orderSplitCriteria#3287.deliveryDate AS _extract_deliveryDate#4183, orderSplitCriteria#3287.supplier AS _extract_supplier#4184, orderSplitCriteria#3287.supplierSubrange AS _extract_supplierSubrange#4185, orderSplitCriteria#3287.orderDate AS _extract_orderDate#4186, orderSplitCriteria#3287.mrpController AS _extract_mrpController#4187, orderSplitCriteria#3287.purchasingGroup AS _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220]
+- Project [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, CASE WHEN isnull(orderGroupCriteria#3111) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#3111 END AS orderGroupCriteria#3265, CASE WHEN isnull(orderSplitCriteria#3112) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#3112 END AS orderSplitCriteria#3287, orderGroupingProfile#3015, coalesce(supplierGroup#2999, supplier#3000) AS supplierOrGroup#3208, coalesce(locationGroup#3017, plant#3001) AS locationOrGroup#3220]
+- SortMergeJoin [coalesce(supplierGroup#2999, ), isnull(supplierGroup#2999), coalesce(supplier#3000, ), isnull(supplier#3000), coalesce(subrange#3003, ), isnull(subrange#3003), coalesce(plant#3001, ), isnull(plant#3001), coalesce(deliveryDateTime#3002, 1970-01-01 00:00:00), isnull(deliveryDateTime#3002)], [coalesce(supplierGroup#3016, ), isnull(supplierGroup#3016), coalesce(supplier#3011, ), isnull(supplier#3011), coalesce(subrange#3012, ), isnull(subrange#3012), coalesce(plant#3013, ), isnull(plant#3013), coalesce(deliveryDateTime#3014, 1970-01-01 00:00:00), isnull(deliveryDateTime#3014)], LeftOuter
:- Sort [coalesce(supplierGroup#2999, ) ASC NULLS FIRST, isnull(supplierGroup#2999) ASC NULLS FIRST, coalesce(supplier#3000, ) ASC NULLS FIRST, isnull(supplier#3000) ASC NULLS FIRST, coalesce(subrange#3003, ) ASC NULLS FIRST, isnull(subrange#3003) ASC NULLS FIRST, coalesce(plant#3001, ) ASC NULLS FIRST, isnull(plant#3001) ASC NULLS FIRST, coalesce(deliveryDateTime#3002, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#3002) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#2999, ), isnull(supplierGroup#2999), coalesce(supplier#3000, ), isnull(supplier#3000), coalesce(subrange#3003, ), isnull(subrange#3003), coalesce(plant#3001, ), isnull(plant#3001), coalesce(deliveryDateTime#3002, 1970-01-01 00:00:00), isnull(deliveryDateTime#3002), 25), ENSURE_REQUIREMENTS, [plan_id=1665]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1651]
: +- Filter ((size(productOrderSchedule#3004, true) > 0) AND isnotnull(productOrderSchedule#3004))
: +- FileScan parquet [supplierGroup#2999,supplier#3000,plant#3001,deliveryDateTime#3002,subrange#3003,productOrderSchedule#3004] Batched: true, DataFilters: [(size(productOrderSchedule#3004, true) > 0), isnotnull(productOrderSchedule#3004)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#3016, ) ASC NULLS FIRST, isnull(supplierGroup#3016) ASC NULLS FIRST, coalesce(supplier#3011, ) ASC NULLS FIRST, isnull(supplier#3011) ASC NULLS FIRST, coalesce(subrange#3012, ) ASC NULLS FIRST, isnull(subrange#3012) ASC NULLS FIRST, coalesce(plant#3013, ) ASC NULLS FIRST, isnull(plant#3013) ASC NULLS FIRST, coalesce(deliveryDateTime#3014, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#3014) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#3016, ), isnull(supplierGroup#3016), coalesce(supplier#3011, ), isnull(supplier#3011), coalesce(subrange#3012, ), isnull(subrange#3012), coalesce(plant#3013, ), isnull(plant#3013), coalesce(deliveryDateTime#3014, 1970-01-01 00:00:00), isnull(deliveryDateTime#3014), 25), ENSURE_REQUIREMENTS, [plan_id=1666]
+- Project [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
+- BroadcastHashJoin [orderGroupingProfile#3015], [orderGroupingProfile#3109], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1638]
: +- FileScan parquet [supplier#3011,subrange#3012,plant#3013,deliverydatetime#3014,ordergroupingprofile#3015,supplierGroup#3016,locationGroup#3017] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=1660]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1652]
+- Filter isnotnull(orderGroupingProfile#3109)
+- FileScan parquet [orderGroupingProfile#3109,orderGroupCriteria#3111,orderSplitCriteria#3112] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#3109)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
,None)
(3) Scan parquet
Output [6]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/grouping-worklist/10000000095]
PushedFilters: [IsNotNull(productOrderSchedule)]
ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:string,productOrderSchedule:array<struct<product:string,orderDateTime:timestamp,availabilityDateTime:timestamp,nextAvailabilityDateTime:timestamp,mrpController:string,sourceOfSupplyUuid:string,purchasingOrg:string,purchasingGroup:string>>>
(4) ColumnarToRow [codegen id : 1]
Input [6]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004]
(5) Filter [codegen id : 1]
Input [6]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004]
Condition : ((size(productOrderSchedule#3004, true) > 0) AND isnotnull(productOrderSchedule#3004))
(6) Exchange
Input [6]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1708]
(7) ShuffleQueryStage
Output [6]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004]
Arguments: 0
(8) Exchange
Input [6]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004]
Arguments: hashpartitioning(coalesce(supplierGroup#2999, ), isnull(supplierGroup#2999), coalesce(supplier#3000, ), isnull(supplier#3000), coalesce(subrange#3003, ), isnull(subrange#3003), coalesce(plant#3001, ), isnull(plant#3001), coalesce(deliveryDateTime#3002, 1970-01-01 00:00:00), isnull(deliveryDateTime#3002), 25), ENSURE_REQUIREMENTS, [plan_id=1716]
(9) ShuffleQueryStage
Output [6]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004]
Arguments: 4
(10) Scan parquet
Output [7]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-param-determination-service/out/10000000095]
ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofile:string,supplierGroup:string,locationGroup:string>
(11) ColumnarToRow [codegen id : 2]
Input [7]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017]
(12) Exchange
Input [7]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1736]
(13) ShuffleQueryStage
Output [7]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017]
Arguments: 1
(14) Scan parquet
Output [3]: [orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-dl-stream-service/prp/order-grouping-profile]
PushedFilters: [IsNotNull(orderGroupingProfile)]
ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:boolean,receivingLocation:boolean,deliveryDate:boolean,orderDate:boolean,purchasingOrg:boolean,purchasingGroup:boolean,mrpController:boolean>,orderSplitCriteria:struct<supplier:boolean,supplierSubrange:boolean,receivingLocation:boolean,deliveryDate:boolean,multiplesOrderQuantity:boolean,orderDate:boolean,purchasingOrg:boolean,purchasingGroup:boolean,mrpController:boolean>>
(15) ColumnarToRow [codegen id : 3]
Input [3]: [orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
(16) Filter [codegen id : 3]
Input [3]: [orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
Condition : isnotnull(orderGroupingProfile#3109)
(17) Exchange
Input [3]: [orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1749]
(18) ShuffleQueryStage
Output [3]: [orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: 2
(19) BroadcastExchange
Input [3]: [orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=1757]
(20) BroadcastQueryStage
Output [3]: [orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: 3
(21) BroadcastHashJoin [codegen id : 4]
Left keys [1]: [orderGroupingProfile#3015]
Right keys [1]: [orderGroupingProfile#3109]
Join type: LeftOuter
Join condition: None
(22) Project [codegen id : 4]
Output [9]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
Input [10]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
(23) Exchange
Input [9]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: hashpartitioning(coalesce(supplierGroup#3016, ), isnull(supplierGroup#3016), coalesce(supplier#3011, ), isnull(supplier#3011), coalesce(subrange#3012, ), isnull(subrange#3012), coalesce(plant#3013, ), isnull(plant#3013), coalesce(deliveryDateTime#3014, 1970-01-01 00:00:00), isnull(deliveryDateTime#3014), 25), ENSURE_REQUIREMENTS, [plan_id=1955]
(24) ShuffleQueryStage
Output [9]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: 5
(25) AQEShuffleRead
Input [9]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: local
(26) BroadcastExchange
Input [9]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=2025]
(27) BroadcastQueryStage
Output [9]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: 6
(28) BroadcastHashJoin [codegen id : 5]
Left keys [10]: [coalesce(supplierGroup#2999, ), isnull(supplierGroup#2999), coalesce(supplier#3000, ), isnull(supplier#3000), coalesce(subrange#3003, ), isnull(subrange#3003), coalesce(plant#3001, ), isnull(plant#3001), coalesce(deliveryDateTime#3002, 1970-01-01 00:00:00), isnull(deliveryDateTime#3002)]
Right keys [10]: [coalesce(supplierGroup#3016, ), isnull(supplierGroup#3016), coalesce(supplier#3011, ), isnull(supplier#3011), coalesce(subrange#3012, ), isnull(subrange#3012), coalesce(plant#3013, ), isnull(plant#3013), coalesce(deliveryDateTime#3014, 1970-01-01 00:00:00), isnull(deliveryDateTime#3014)]
Join type: LeftOuter
Join condition: None
(29) Project [codegen id : 5]
Output [11]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, CASE WHEN isnull(orderGroupCriteria#3111) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#3111 END AS orderGroupCriteria#3265, CASE WHEN isnull(orderSplitCriteria#3112) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#3112 END AS orderSplitCriteria#3287, orderGroupingProfile#3015, coalesce(supplierGroup#2999, supplier#3000) AS supplierOrGroup#3208, coalesce(locationGroup#3017, plant#3001) AS locationOrGroup#3220]
Input [15]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
(30) Project [codegen id : 5]
Output [23]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, orderGroupCriteria#3265.supplier AS _extract_supplier#4175, orderGroupCriteria#3265.deliveryDate AS _extract_deliveryDate#4176, orderGroupCriteria#3265.orderDate AS _extract_orderDate#4177, orderGroupCriteria#3265.supplierSubrange AS _extract_supplierSubrange#4178, orderGroupCriteria#3265.purchasingOrg AS _extract_purchasingOrg#4179, orderGroupCriteria#3265.mrpController AS _extract_mrpController#4180, orderGroupCriteria#3265.purchasingGroup AS _extract_purchasingGroup#4181, orderSplitCriteria#3287.purchasingOrg AS _extract_purchasingOrg#4182, orderSplitCriteria#3287.deliveryDate AS _extract_deliveryDate#4183, orderSplitCriteria#3287.supplier AS _extract_supplier#4184, orderSplitCriteria#3287.supplierSubrange AS _extract_supplierSubrange#4185, orderSplitCriteria#3287.orderDate AS _extract_orderDate#4186, orderSplitCriteria#3287.mrpController AS _extract_mrpController#4187, orderSplitCriteria#3287.purchasingGroup AS _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220]
Input [11]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, orderGroupCriteria#3265, orderSplitCriteria#3287, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220]
(31) Generate [codegen id : 5]
Input [23]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, _extract_supplier#4175, _extract_deliveryDate#4176, _extract_orderDate#4177, _extract_supplierSubrange#4178, _extract_purchasingOrg#4179, _extract_mrpController#4180, _extract_purchasingGroup#4181, _extract_purchasingOrg#4182, _extract_deliveryDate#4183, _extract_supplier#4184, _extract_supplierSubrange#4185, _extract_orderDate#4186, _extract_mrpController#4187, _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220]
Arguments: explode(productOrderSchedule#3004), [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, _extract_supplier#4175, _extract_deliveryDate#4176, _extract_orderDate#4177, _extract_supplierSubrange#4178, _extract_purchasingOrg#4179, _extract_mrpController#4180, _extract_purchasingGroup#4181, _extract_purchasingOrg#4182, _extract_deliveryDate#4183, _extract_supplier#4184, _extract_supplierSubrange#4185, _extract_orderDate#4186, _extract_mrpController#4187, _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220], false, [productOrderScheduleExploded#3301]
(32) Project [codegen id : 5]
Output [16]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderScheduleExploded#3301.product AS product#3315, productOrderScheduleExploded#3301.orderDateTime AS orderDateTime#3316, productOrderScheduleExploded#3301.availabilityDateTime AS availabilityDateTime#3317, productOrderScheduleExploded#3301.nextAvailabilityDateTime AS nextAvailabilityDateTime#3318, productOrderScheduleExploded#3301.mrpController AS mrpController#3319, productOrderScheduleExploded#3301.sourceOfSupplyUuid AS sourceOfSupplyUuid#3320, productOrderScheduleExploded#3301.purchasingOrg AS purchasingOrg#3321, productOrderScheduleExploded#3301.purchasingGroup AS purchasingGroup#3322, xxhash64(CASE WHEN (_extract_supplier#4175 <=> true) THEN supplierOrGroup#3208 END, CASE WHEN (_extract_deliveryDate#4176 <=> true) THEN deliveryDateTime#3002 END, CASE WHEN (_extract_orderDate#4177 <=> true) THEN productOrderScheduleExploded#3301.orderDateTime END, CASE WHEN (_extract_supplierSubrange#4178 <=> true) THEN subrange#3003 END, CASE WHEN (_extract_purchasingOrg#4179 <=> true) THEN productOrderScheduleExploded#3301.purchasingOrg END, CASE WHEN (_extract_mrpController#4180 <=> true) THEN productOrderScheduleExploded#3301.mrpController END, orderGroupingProfile#3015, CASE WHEN (_extract_purchasingGroup#4181 <=> true) THEN productOrderScheduleExploded#3301.purchasingGroup END, locationOrGroup#3220, ((((((((CASE WHEN (isnull(supplierOrGroup#3208) AND (_extract_supplier#4175 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#3002) AND (_extract_deliveryDate#4176 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.orderDateTime) AND (_extract_orderDate#4177 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#3003) AND (_extract_supplierSubrange#4178 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingOrg) AND (_extract_purchasingOrg#4179 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.mrpController) AND (_extract_mrpController#4180 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#3015) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingGroup) AND (_extract_purchasingGroup#4181 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#3220) THEN 256 ELSE 0 END), 10000000095, 42) AS orderProposalId#3715L, 0 AS orderProposalHorizonGroupingId#3736L, xxhash64(CASE WHEN (_extract_purchasingOrg#4182 <=> true) THEN productOrderScheduleExploded#3301.purchasingOrg END, CASE WHEN (_extract_deliveryDate#4183 <=> true) THEN deliveryDateTime#3002 END, CASE WHEN (_extract_supplier#4184 <=> true) THEN supplier#3000 END, CASE WHEN (_extract_supplierSubrange#4185 <=> true) THEN subrange#3003 END, CASE WHEN (_extract_orderDate#4186 <=> true) THEN productOrderScheduleExploded#3301.orderDateTime END, CASE WHEN (_extract_mrpController#4187 <=> true) THEN productOrderScheduleExploded#3301.mrpController END, orderGroupingProfile#3015, CASE WHEN (_extract_purchasingGroup#4188 <=> true) THEN productOrderScheduleExploded#3301.purchasingGroup END, plant#3001, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingOrg) AND (_extract_purchasingOrg#4182 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#3002) AND (_extract_deliveryDate#4183 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#3000) AND (_extract_supplier#4184 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#3003) AND (_extract_supplierSubrange#4185 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.orderDateTime) AND (_extract_orderDate#4186 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.mrpController) AND (_extract_mrpController#4187 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#3015) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingGroup) AND (_extract_purchasingGroup#4188 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#3001) THEN 256 ELSE 0 END), 10000000095, 42) AS splitIndicator#4136L]
Input [23]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, _extract_supplier#4175, _extract_deliveryDate#4176, _extract_orderDate#4177, _extract_supplierSubrange#4178, _extract_purchasingOrg#4179, _extract_mrpController#4180, _extract_purchasingGroup#4181, _extract_purchasingOrg#4182, _extract_deliveryDate#4183, _extract_supplier#4184, _extract_supplierSubrange#4185, _extract_orderDate#4186, _extract_mrpController#4187, _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220, productOrderScheduleExploded#3301]
(33) Filter
Input [6]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004]
Condition : ((size(productOrderSchedule#3004, true) > 0) AND isnotnull(productOrderSchedule#3004))
(34) Exchange
Input [6]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1651]
(35) Exchange
Input [6]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004]
Arguments: hashpartitioning(coalesce(supplierGroup#2999, ), isnull(supplierGroup#2999), coalesce(supplier#3000, ), isnull(supplier#3000), coalesce(subrange#3003, ), isnull(subrange#3003), coalesce(plant#3001, ), isnull(plant#3001), coalesce(deliveryDateTime#3002, 1970-01-01 00:00:00), isnull(deliveryDateTime#3002), 25), ENSURE_REQUIREMENTS, [plan_id=1665]
(36) Sort
Input [6]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004]
Arguments: [coalesce(supplierGroup#2999, ) ASC NULLS FIRST, isnull(supplierGroup#2999) ASC NULLS FIRST, coalesce(supplier#3000, ) ASC NULLS FIRST, isnull(supplier#3000) ASC NULLS FIRST, coalesce(subrange#3003, ) ASC NULLS FIRST, isnull(subrange#3003) ASC NULLS FIRST, coalesce(plant#3001, ) ASC NULLS FIRST, isnull(plant#3001) ASC NULLS FIRST, coalesce(deliveryDateTime#3002, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#3002) ASC NULLS FIRST], false, 0
(37) Exchange
Input [7]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1638]
(38) Filter
Input [3]: [orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
Condition : isnotnull(orderGroupingProfile#3109)
(39) Exchange
Input [3]: [orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=1652]
(40) BroadcastExchange
Input [3]: [orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=1660]
(41) BroadcastHashJoin
Left keys [1]: [orderGroupingProfile#3015]
Right keys [1]: [orderGroupingProfile#3109]
Join type: LeftOuter
Join condition: None
(42) Project
Output [9]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
Input [10]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupingProfile#3109, orderGroupCriteria#3111, orderSplitCriteria#3112]
(43) Exchange
Input [9]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: hashpartitioning(coalesce(supplierGroup#3016, ), isnull(supplierGroup#3016), coalesce(supplier#3011, ), isnull(supplier#3011), coalesce(subrange#3012, ), isnull(subrange#3012), coalesce(plant#3013, ), isnull(plant#3013), coalesce(deliveryDateTime#3014, 1970-01-01 00:00:00), isnull(deliveryDateTime#3014), 25), ENSURE_REQUIREMENTS, [plan_id=1666]
(44) Sort
Input [9]: [supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
Arguments: [coalesce(supplierGroup#3016, ) ASC NULLS FIRST, isnull(supplierGroup#3016) ASC NULLS FIRST, coalesce(supplier#3011, ) ASC NULLS FIRST, isnull(supplier#3011) ASC NULLS FIRST, coalesce(subrange#3012, ) ASC NULLS FIRST, isnull(subrange#3012) ASC NULLS FIRST, coalesce(plant#3013, ) ASC NULLS FIRST, isnull(plant#3013) ASC NULLS FIRST, coalesce(deliveryDateTime#3014, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#3014) ASC NULLS FIRST], false, 0
(45) SortMergeJoin
Left keys [10]: [coalesce(supplierGroup#2999, ), isnull(supplierGroup#2999), coalesce(supplier#3000, ), isnull(supplier#3000), coalesce(subrange#3003, ), isnull(subrange#3003), coalesce(plant#3001, ), isnull(plant#3001), coalesce(deliveryDateTime#3002, 1970-01-01 00:00:00), isnull(deliveryDateTime#3002)]
Right keys [10]: [coalesce(supplierGroup#3016, ), isnull(supplierGroup#3016), coalesce(supplier#3011, ), isnull(supplier#3011), coalesce(subrange#3012, ), isnull(subrange#3012), coalesce(plant#3013, ), isnull(plant#3013), coalesce(deliveryDateTime#3014, 1970-01-01 00:00:00), isnull(deliveryDateTime#3014)]
Join type: LeftOuter
Join condition: None
(46) Project
Output [11]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, CASE WHEN isnull(orderGroupCriteria#3111) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#3111 END AS orderGroupCriteria#3265, CASE WHEN isnull(orderSplitCriteria#3112) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#3112 END AS orderSplitCriteria#3287, orderGroupingProfile#3015, coalesce(supplierGroup#2999, supplier#3000) AS supplierOrGroup#3208, coalesce(locationGroup#3017, plant#3001) AS locationOrGroup#3220]
Input [15]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, supplier#3011, subrange#3012, plant#3013, deliverydatetime#3014, ordergroupingprofile#3015, supplierGroup#3016, locationGroup#3017, orderGroupCriteria#3111, orderSplitCriteria#3112]
(47) Project
Output [23]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, orderGroupCriteria#3265.supplier AS _extract_supplier#4175, orderGroupCriteria#3265.deliveryDate AS _extract_deliveryDate#4176, orderGroupCriteria#3265.orderDate AS _extract_orderDate#4177, orderGroupCriteria#3265.supplierSubrange AS _extract_supplierSubrange#4178, orderGroupCriteria#3265.purchasingOrg AS _extract_purchasingOrg#4179, orderGroupCriteria#3265.mrpController AS _extract_mrpController#4180, orderGroupCriteria#3265.purchasingGroup AS _extract_purchasingGroup#4181, orderSplitCriteria#3287.purchasingOrg AS _extract_purchasingOrg#4182, orderSplitCriteria#3287.deliveryDate AS _extract_deliveryDate#4183, orderSplitCriteria#3287.supplier AS _extract_supplier#4184, orderSplitCriteria#3287.supplierSubrange AS _extract_supplierSubrange#4185, orderSplitCriteria#3287.orderDate AS _extract_orderDate#4186, orderSplitCriteria#3287.mrpController AS _extract_mrpController#4187, orderSplitCriteria#3287.purchasingGroup AS _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220]
Input [11]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, orderGroupCriteria#3265, orderSplitCriteria#3287, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220]
(48) Generate
Input [23]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderSchedule#3004, _extract_supplier#4175, _extract_deliveryDate#4176, _extract_orderDate#4177, _extract_supplierSubrange#4178, _extract_purchasingOrg#4179, _extract_mrpController#4180, _extract_purchasingGroup#4181, _extract_purchasingOrg#4182, _extract_deliveryDate#4183, _extract_supplier#4184, _extract_supplierSubrange#4185, _extract_orderDate#4186, _extract_mrpController#4187, _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220]
Arguments: explode(productOrderSchedule#3004), [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, _extract_supplier#4175, _extract_deliveryDate#4176, _extract_orderDate#4177, _extract_supplierSubrange#4178, _extract_purchasingOrg#4179, _extract_mrpController#4180, _extract_purchasingGroup#4181, _extract_purchasingOrg#4182, _extract_deliveryDate#4183, _extract_supplier#4184, _extract_supplierSubrange#4185, _extract_orderDate#4186, _extract_mrpController#4187, _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220], false, [productOrderScheduleExploded#3301]
(49) Project
Output [16]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, productOrderScheduleExploded#3301.product AS product#3315, productOrderScheduleExploded#3301.orderDateTime AS orderDateTime#3316, productOrderScheduleExploded#3301.availabilityDateTime AS availabilityDateTime#3317, productOrderScheduleExploded#3301.nextAvailabilityDateTime AS nextAvailabilityDateTime#3318, productOrderScheduleExploded#3301.mrpController AS mrpController#3319, productOrderScheduleExploded#3301.sourceOfSupplyUuid AS sourceOfSupplyUuid#3320, productOrderScheduleExploded#3301.purchasingOrg AS purchasingOrg#3321, productOrderScheduleExploded#3301.purchasingGroup AS purchasingGroup#3322, xxhash64(CASE WHEN (_extract_supplier#4175 <=> true) THEN supplierOrGroup#3208 END, CASE WHEN (_extract_deliveryDate#4176 <=> true) THEN deliveryDateTime#3002 END, CASE WHEN (_extract_orderDate#4177 <=> true) THEN productOrderScheduleExploded#3301.orderDateTime END, CASE WHEN (_extract_supplierSubrange#4178 <=> true) THEN subrange#3003 END, CASE WHEN (_extract_purchasingOrg#4179 <=> true) THEN productOrderScheduleExploded#3301.purchasingOrg END, CASE WHEN (_extract_mrpController#4180 <=> true) THEN productOrderScheduleExploded#3301.mrpController END, orderGroupingProfile#3015, CASE WHEN (_extract_purchasingGroup#4181 <=> true) THEN productOrderScheduleExploded#3301.purchasingGroup END, locationOrGroup#3220, ((((((((CASE WHEN (isnull(supplierOrGroup#3208) AND (_extract_supplier#4175 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#3002) AND (_extract_deliveryDate#4176 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.orderDateTime) AND (_extract_orderDate#4177 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#3003) AND (_extract_supplierSubrange#4178 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingOrg) AND (_extract_purchasingOrg#4179 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.mrpController) AND (_extract_mrpController#4180 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#3015) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingGroup) AND (_extract_purchasingGroup#4181 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#3220) THEN 256 ELSE 0 END), 10000000095, 42) AS orderProposalId#3715L, 0 AS orderProposalHorizonGroupingId#3736L, xxhash64(CASE WHEN (_extract_purchasingOrg#4182 <=> true) THEN productOrderScheduleExploded#3301.purchasingOrg END, CASE WHEN (_extract_deliveryDate#4183 <=> true) THEN deliveryDateTime#3002 END, CASE WHEN (_extract_supplier#4184 <=> true) THEN supplier#3000 END, CASE WHEN (_extract_supplierSubrange#4185 <=> true) THEN subrange#3003 END, CASE WHEN (_extract_orderDate#4186 <=> true) THEN productOrderScheduleExploded#3301.orderDateTime END, CASE WHEN (_extract_mrpController#4187 <=> true) THEN productOrderScheduleExploded#3301.mrpController END, orderGroupingProfile#3015, CASE WHEN (_extract_purchasingGroup#4188 <=> true) THEN productOrderScheduleExploded#3301.purchasingGroup END, plant#3001, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingOrg) AND (_extract_purchasingOrg#4182 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#3002) AND (_extract_deliveryDate#4183 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#3000) AND (_extract_supplier#4184 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#3003) AND (_extract_supplierSubrange#4185 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.orderDateTime) AND (_extract_orderDate#4186 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.mrpController) AND (_extract_mrpController#4187 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#3015) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#3301.purchasingGroup) AND (_extract_purchasingGroup#4188 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#3001) THEN 256 ELSE 0 END), 10000000095, 42) AS splitIndicator#4136L]
Input [23]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, _extract_supplier#4175, _extract_deliveryDate#4176, _extract_orderDate#4177, _extract_supplierSubrange#4178, _extract_purchasingOrg#4179, _extract_mrpController#4180, _extract_purchasingGroup#4181, _extract_purchasingOrg#4182, _extract_deliveryDate#4183, _extract_supplier#4184, _extract_supplierSubrange#4185, _extract_orderDate#4186, _extract_mrpController#4187, _extract_purchasingGroup#4188, orderGroupingProfile#3015, supplierOrGroup#3208, locationOrGroup#3220, productOrderScheduleExploded#3301]
(50) AdaptiveSparkPlan
Output [16]: [supplierGroup#2999, supplier#3000, plant#3001, deliveryDateTime#3002, subrange#3003, product#3315, orderDateTime#3316, availabilityDateTime#3317, nextAvailabilityDateTime#3318, mrpController#3319, sourceOfSupplyUuid#3320, purchasingOrg#3321, purchasingGroup#3322, orderProposalId#3715L, orderProposalHorizonGroupingId#3736L, splitIndicator#4136L]
Arguments: isFinalPlan=true
(51) TableCacheQueryStage
Output [1]: [plant#3001]
Arguments: 0
(52) HashAggregate [codegen id : 1]
Input [1]: [plant#3001]
Keys [1]: [plant#3001]
Functions: []
Aggregate Attributes: []
Results [1]: [plant#3001]
(53) Exchange
Input [1]: [plant#3001]
Arguments: hashpartitioning(plant#3001, 25), ENSURE_REQUIREMENTS, [plan_id=2155]
(54) ShuffleQueryStage
Output [1]: [plant#3001]
Arguments: 1
(55) AQEShuffleRead
Input [1]: [plant#3001]
Arguments: coalesced
(56) HashAggregate [codegen id : 2]
Input [1]: [plant#3001]
Keys [1]: [plant#3001]
Functions: []
Aggregate Attributes: []
Results: []
(57) HashAggregate [codegen id : 2]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#5343L]
Results [1]: [count#5344L]
(58) Exchange
Input [1]: [count#5344L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=2187]
(59) ShuffleQueryStage
Output [1]: [count#5344L]
Arguments: 2
(60) HashAggregate [codegen id : 3]
Input [1]: [count#5344L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#5100L]
Results [1]: [count(1)#5100L AS count#5101L]
(61) HashAggregate
Input [1]: [plant#3001]
Keys [1]: [plant#3001]
Functions: []
Aggregate Attributes: []
Results [1]: [plant#3001]
(62) Exchange
Input [1]: [plant#3001]
Arguments: hashpartitioning(plant#3001, 25), ENSURE_REQUIREMENTS, [plan_id=2103]
(63) HashAggregate
Input [1]: [plant#3001]
Keys [1]: [plant#3001]
Functions: []
Aggregate Attributes: []
Results: []
(64) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#5343L]
Results [1]: [count#5344L]
(65) Exchange
Input [1]: [count#5344L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=2107]
(66) HashAggregate
Input [1]: [count#5344L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#5100L]
Results [1]: [count(1)#5100L AS count#5101L]
(67) AdaptiveSparkPlan
Output [1]: [count#5101L]
Arguments: isFinalPlan=true