== Physical Plan ==
* HashAggregate (106)
+- Exchange (105)
+- * HashAggregate (104)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- ObjectHashAggregate (103)
+- Exchange (102)
+- ObjectHashAggregate (101)
+- Project (100)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- Project (99)
+- SortMergeJoin LeftOuter (98)
:- Sort (69)
: +- Exchange (68)
: +- Project (67)
: +- Project (66)
: +- ObjectHashAggregate (65)
: +- Exchange (64)
: +- ObjectHashAggregate (63)
: +- ObjectHashAggregate (62)
: +- Exchange (61)
: +- ObjectHashAggregate (60)
: +- Project (59)
: +- Project (58)
: +- Project (57)
: +- * Project (56)
: +- * Filter (55)
: +- InMemoryTableScan (5)
: +- InMemoryRelation (6)
: +- * Project (54)
: +- * SortMergeJoin LeftOuter (53)
: :- * Project (45)
: : +- * SortMergeJoin LeftOuter (44)
: : :- * Project (36)
: : : +- * SortMergeJoin LeftOuter (35)
: : : :- * Sort (29)
: : : : +- Exchange (28)
: : : : +- * Project (27)
: : : : +- * SortMergeJoin LeftOuter (26)
: : : : :- * Sort (18)
: : : : : +- Exchange (17)
: : : : : +- * Project (16)
: : : : : +- * Generate (15)
: : : : : +- * Filter (14)
: : : : : +- InMemoryTableScan (7)
: : : : : +- InMemoryRelation (8)
: : : : : +- * Filter (13)
: : : : : +- InMemoryTableScan (9)
: : : : : +- InMemoryRelation (10)
: : : : : +- * Filter (12)
: : : : : +- * Scan ExistingRDD (11)
: : : : +- * Sort (25)
: : : : +- * Project (24)
: : : : +- Exchange (23)
: : : : +- * Project (22)
: : : : +- * Filter (21)
: : : : +- * ColumnarToRow (20)
: : : : +- Scan parquet (19)
: : : +- * Sort (34)
: : : +- Exchange (33)
: : : +- * Project (32)
: : : +- * Filter (31)
: : : +- * Scan ExistingRDD (30)
: : +- * Sort (43)
: : +- ObjectHashAggregate (42)
: : +- Exchange (41)
: : +- ObjectHashAggregate (40)
: : +- * Project (39)
: : +- * Filter (38)
: : +- * Scan ExistingRDD (37)
: +- * Sort (52)
: +- ObjectHashAggregate (51)
: +- Exchange (50)
: +- ObjectHashAggregate (49)
: +- * Project (48)
: +- * Filter (47)
: +- * Scan ExistingRDD (46)
+- * Sort (97)
+- Exchange (96)
+- Project (95)
+- * SortMergeJoin Inner (94)
:- * Sort (74)
: +- Exchange (73)
: +- * Filter (72)
: +- InMemoryTableScan (70)
: +- InMemoryRelation (71)
: +- * Filter (13)
: +- InMemoryTableScan (9)
: +- InMemoryRelation (10)
: +- * Filter (12)
: +- * Scan ExistingRDD (11)
+- * Sort (93)
+- * HashAggregate (92)
+- Exchange (91)
+- * HashAggregate (90)
+- * Project (89)
+- * BroadcastHashJoin Inner BuildLeft (88)
:- BroadcastExchange (81)
: +- * Project (80)
: +- * Generate (79)
: +- * Project (78)
: +- * Filter (77)
: +- InMemoryTableScan (75)
: +- InMemoryRelation (76)
: +- * Filter (13)
: +- InMemoryTableScan (9)
: +- InMemoryRelation (10)
: +- * Filter (12)
: +- * Scan ExistingRDD (11)
+- * Project (87)
+- Exchange (86)
+- * Project (85)
+- * Filter (84)
+- * ColumnarToRow (83)
+- Scan parquet (82)
(1) InMemoryTableScan
Output: []
(2) InMemoryRelation
Arguments: [shardId#10214802, resultSeparationId#10218942L, orderProposals#10218946], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [2]: [orderProposal#10217190, shardId#10214802]
Arguments: [orderProposal#10217190, shardId#10214802]
(4) InMemoryRelation
Arguments: [shardId#10214802, orderProposal#10217190], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [39]: [availabilityDateTime#10215492, channelStreamSpecificKpis#10216293, constraintLabels#10215504, constraintOperators#10215505, constraintValues#10215507, deliveryDateTime#10215491, isFallbackOrderOnly#10215494, logisticUnits#10215509, measurements#10215502, minimumOrderQuantity#10215503, netPriceAmount#10215500, netPriceCurrencyCode#10215501, netPriceQuantity#10215497, netPriceQuantityUom#10215498, netPriceQuantityUomUuid#10215499, nextAvailabilityDateTime#10215493, optimizationGroups#10215510, orderDateTime#10215490, orderProposalId#10215472L, orderProposalItemGroupId#10215474, orderProposalItemId#10215473, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid#10215496, originalReplenishmentRunId#10215475L, plant#10215486, previousOrderProposal#10215478L, prodLocSpecificKpis#10216278, product#10215485, productGroup#10215514, qty#10215316, quantityAfterProdPlantOptimization#10215315, quantityKpis#10216306, shardId#10214802, sourceOfSupplyUuid#10215481, splitIndicator#10215477L, subrange#10215484, supplier#10215483, supplierGroup#10215482, supplyingPlant#10215513]
Arguments: [availabilityDateTime#10215492, channelStreamSpecificKpis#10216293, constraintLabels#10215504, constraintOperators#10215505, constraintValues#10215507, deliveryDateTime#10215491, isFallbackOrderOnly#10215494, logisticUnits#10215509, measurements#10215502, minimumOrderQuantity#10215503, netPriceAmount#10215500, netPriceCurrencyCode#10215501, netPriceQuantity#10215497, netPriceQuantityUom#10215498, netPriceQuantityUomUuid#10215499, nextAvailabilityDateTime#10215493, optimizationGroups#10215510, orderDateTime#10215490, orderProposalId#10215472L, orderProposalItemGroupId#10215474, orderProposalItemId#10215473, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid#10215496, originalReplenishmentRunId#10215475L, plant#10215486, ... 14 more fields], [NOT (isFallbackOrderOnly#10215494 <=> true)]
(6) InMemoryRelation
Arguments: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215472L, originalReplenishmentRunId#10215475L, supplierGroup#10215482, supplier#10215483, supplyingPlant#10215513, productGroup#10215514, product#10215485, plant#10215486, subrange#10215484, orderDateTime#10215490, deliveryDateTime#10215491, availabilityDateTime#10215492, nextAvailabilityDateTime#10215493, constraintValues#10215507, constraintOperators#10215505, constraintLabels#10215504, logisticUnits#10215509, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid#10215496, splitIndicator#10215477L, netPriceAmount#10215500, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [2]: [shardId#10214802, items#10214804]
Arguments: [shardId#10214802, items#10214804], [(size(items#10214804, true) > 0), isnotnull(items#10214804)]
(8) InMemoryRelation
Arguments: [shardId#10214802, orderProposalId#10214803L, items#10214804, optimizationGroups#10214805, isOptimal#10214806, optimizationInsights#10214808], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [6]: [shardId#10214802, orderProposalId#10214803L, items#10214804, optimizationGroups#10214805, isOptimal#10214806, optimizationInsights#10214808]
Arguments: [shardId#10214802, orderProposalId#10214803L, items#10214804, optimizationGroups#10214805, isOptimal#10214806, optimizationInsights#10214808], [isnotnull(shardId#10214802), (shardId#10214802 = 0_3_10000000540)]
(10) InMemoryRelation
Arguments: [shardId#10214802, orderProposalId#10214803L, items#10214804, optimizationGroups#10214805, isOptimal#10214806, lastModified#10214807, optimizationInsights#10214808], StorageLevel(disk, memory, 2 replicas)
(11) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#10214802, orderProposalId#10214803L, items#10214804, optimizationGroups#10214805, isOptimal#10214806, lastModified#10214807, optimizationInsights#10214808]
Arguments: [shardId#10214802, orderProposalId#10214803L, items#10214804, optimizationGroups#10214805, isOptimal#10214806, lastModified#10214807, optimizationInsights#10214808], MapPartitionsRDD[434374] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(12) Filter [codegen id : 1]
Input [7]: [shardId#10214802, orderProposalId#10214803L, items#10214804, optimizationGroups#10214805, isOptimal#10214806, lastModified#10214807, optimizationInsights#10214808]
Condition : (isnotnull(shardId#10214802) AND (shardId#10214802 = 0_3_10000000540))
(13) Filter [codegen id : 1]
Input [6]: [shardId#10214802, orderProposalId#10214803L, items#10214804, optimizationGroups#10214805, isOptimal#10214806, optimizationInsights#10214808]
Condition : (isnotnull(shardId#10214802) AND (shardId#10214802 = 0_3_10000000540))
(14) Filter [codegen id : 1]
Input [2]: [shardId#10214802, items#10214804]
Condition : ((size(items#10214804, true) > 0) AND isnotnull(items#10214804))
(15) Generate [codegen id : 1]
Input [2]: [shardId#10214802, items#10214804]
Arguments: explode(items#10214804), [shardId#10214802], false, [item#10215313]
(16) Project [codegen id : 1]
Output [4]: [shardId#10214802, item#10215313.worklistShardItemId AS worklistShardItemId#10215314L, item#10215313.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#10215315, item#10215313.qty AS qty#10215316]
Input [2]: [shardId#10214802, item#10215313]
(17) Exchange
Input [4]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316]
Arguments: hashpartitioning(worklistShardItemId#10215314L, 30), ENSURE_REQUIREMENTS, [plan_id=3020494]
(18) Sort [codegen id : 2]
Input [4]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316]
Arguments: [worklistShardItemId#10215314L ASC NULLS FIRST], false, 0
(19) Scan parquet
Output [38]: [orderProposalId#10215515L, orderProposalItemId#10215516, supplierGroup#10215517, supplier#10215518, plant#10215519, deliveryDateTime#10215520, subrange#10215521, supplyingPlant#10215522, productGroup#10215523, product#10215524, orderDateTime#10215525, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, sourceOfSupplyUuid#10215529, isFallbackOrderOnly#10215532, splitIndicator#10215534L, previousOrderProposal#10215535L, worklistShardItemId#10215538L, orderProposalItemGroupId#10215539, externalProductId#10215540, externalPlantId#10215541, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, minimumOrderQuantity#10215545, constraintLabels#10215546, constraintOperators#10215547, constraintValues#10215548, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, measurements#10215556, originalReplenishmentRunId#10215557L, optimizationGroups#10215558, shardId#10215559, sequenceId#10215537]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000000540]
PartitionFilters: [isnotnull(shardId#10215559), isnotnull(sequenceId#10215537), (shardId#10215559 = 0_3_10000000540), (sequenceId#10215537 = 12)]
PushedFilters: [IsNotNull(worklistShardItemId)]
ReadSchema: struct<orderProposalId:bigint,orderProposalItemId:string,supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:string,supplyingPlant:string,productGroup:string,product:string,orderDateTime:timestamp,availabilityDateTime:timestamp,nextAvailabilityDateTime:timestamp,sourceOfSupplyUuid:string,isFallbackOrderOnly:boolean,splitIndicator:bigint,previousOrderProposal:bigint,worklistShardItemId:bigint,orderProposalItemGroupId:string,externalProductId:string,externalPlantId:string,logisticUnits:array<struct<uom:string,uomUuid:string,numerator:int,denominator:int,isOrderUnit:boolean,isPreferred:boolean>>,orderQuantityBaseUom:string,orderQuantityBaseUomUuid:string,minimumOrderQuantity:double,constraintLabels:array<string>,constraintOperators:array<string>,constraintValues:array<double>,netPriceAmount:double,netPriceCurrencyCode:string,netPriceQuantity:double,netPriceQuantityUom:string,netPriceQuantityUomUuid:string,measurements:array<struct<value:double,dimensionType:int,dimensionCode:string,dimensionCodeUuid:string,isoCode:string>>,originalReplenishmentRunId:bigint,optimizationGroups:array<string>>
(20) ColumnarToRow [codegen id : 3]
Input [38]: [orderProposalId#10215515L, orderProposalItemId#10215516, supplierGroup#10215517, supplier#10215518, plant#10215519, deliveryDateTime#10215520, subrange#10215521, supplyingPlant#10215522, productGroup#10215523, product#10215524, orderDateTime#10215525, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, sourceOfSupplyUuid#10215529, isFallbackOrderOnly#10215532, splitIndicator#10215534L, previousOrderProposal#10215535L, worklistShardItemId#10215538L, orderProposalItemGroupId#10215539, externalProductId#10215540, externalPlantId#10215541, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, minimumOrderQuantity#10215545, constraintLabels#10215546, constraintOperators#10215547, constraintValues#10215548, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, measurements#10215556, originalReplenishmentRunId#10215557L, optimizationGroups#10215558, shardId#10215559, sequenceId#10215537]
(21) Filter [codegen id : 3]
Input [38]: [orderProposalId#10215515L, orderProposalItemId#10215516, supplierGroup#10215517, supplier#10215518, plant#10215519, deliveryDateTime#10215520, subrange#10215521, supplyingPlant#10215522, productGroup#10215523, product#10215524, orderDateTime#10215525, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, sourceOfSupplyUuid#10215529, isFallbackOrderOnly#10215532, splitIndicator#10215534L, previousOrderProposal#10215535L, worklistShardItemId#10215538L, orderProposalItemGroupId#10215539, externalProductId#10215540, externalPlantId#10215541, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, minimumOrderQuantity#10215545, constraintLabels#10215546, constraintOperators#10215547, constraintValues#10215548, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, measurements#10215556, originalReplenishmentRunId#10215557L, optimizationGroups#10215558, shardId#10215559, sequenceId#10215537]
Condition : isnotnull(worklistShardItemId#10215538L)
(22) Project [codegen id : 3]
Output [36]: [orderProposalId#10215515L, orderProposalItemId#10215516, supplierGroup#10215517, supplier#10215518, plant#10215519, deliveryDateTime#10215520, subrange#10215521, supplyingPlant#10215522, productGroup#10215523, product#10215524, orderDateTime#10215525, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, sourceOfSupplyUuid#10215529, isFallbackOrderOnly#10215532, splitIndicator#10215534L, previousOrderProposal#10215535L, worklistShardItemId#10215538L, orderProposalItemGroupId#10215539, externalProductId#10215540, externalPlantId#10215541, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, minimumOrderQuantity#10215545, constraintLabels#10215546, constraintOperators#10215547, constraintValues#10215548, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, measurements#10215556, originalReplenishmentRunId#10215557L, optimizationGroups#10215558]
Input [38]: [orderProposalId#10215515L, orderProposalItemId#10215516, supplierGroup#10215517, supplier#10215518, plant#10215519, deliveryDateTime#10215520, subrange#10215521, supplyingPlant#10215522, productGroup#10215523, product#10215524, orderDateTime#10215525, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, sourceOfSupplyUuid#10215529, isFallbackOrderOnly#10215532, splitIndicator#10215534L, previousOrderProposal#10215535L, worklistShardItemId#10215538L, orderProposalItemGroupId#10215539, externalProductId#10215540, externalPlantId#10215541, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, minimumOrderQuantity#10215545, constraintLabels#10215546, constraintOperators#10215547, constraintValues#10215548, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, measurements#10215556, originalReplenishmentRunId#10215557L, optimizationGroups#10215558, shardId#10215559, sequenceId#10215537]
(23) Exchange
Input [36]: [orderProposalId#10215515L, orderProposalItemId#10215516, supplierGroup#10215517, supplier#10215518, plant#10215519, deliveryDateTime#10215520, subrange#10215521, supplyingPlant#10215522, productGroup#10215523, product#10215524, orderDateTime#10215525, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, sourceOfSupplyUuid#10215529, isFallbackOrderOnly#10215532, splitIndicator#10215534L, previousOrderProposal#10215535L, worklistShardItemId#10215538L, orderProposalItemGroupId#10215539, externalProductId#10215540, externalPlantId#10215541, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, minimumOrderQuantity#10215545, constraintLabels#10215546, constraintOperators#10215547, constraintValues#10215548, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, measurements#10215556, originalReplenishmentRunId#10215557L, optimizationGroups#10215558]
Arguments: hashpartitioning(worklistShardItemId#10215538L, 30), REPARTITION_BY_NUM, [plan_id=3020504]
(24) Project [codegen id : 4]
Output [36]: [worklistShardItemId#10215538L, orderProposalId#10215515L, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, originalReplenishmentRunId#10215557L, splitIndicator#10215534L, previousOrderProposal#10215535L, sourceOfSupplyUuid#10215529, supplierGroup#10215517, supplier#10215518, subrange#10215521, product#10215524, plant#10215519, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, isFallbackOrderOnly#10215532, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, netPriceAmount#10215551, netPriceCurrencyCode#10215552, measurements#10215556, minimumOrderQuantity#10215545, constraintLabels#10215546, constraintOperators#10215547, constraintValues#10215548, logisticUnits#10215542, optimizationGroups#10215558, externalProductId#10215540, externalPlantId#10215541, supplyingPlant#10215522, productGroup#10215523]
Input [36]: [orderProposalId#10215515L, orderProposalItemId#10215516, supplierGroup#10215517, supplier#10215518, plant#10215519, deliveryDateTime#10215520, subrange#10215521, supplyingPlant#10215522, productGroup#10215523, product#10215524, orderDateTime#10215525, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, sourceOfSupplyUuid#10215529, isFallbackOrderOnly#10215532, splitIndicator#10215534L, previousOrderProposal#10215535L, worklistShardItemId#10215538L, orderProposalItemGroupId#10215539, externalProductId#10215540, externalPlantId#10215541, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, minimumOrderQuantity#10215545, constraintLabels#10215546, constraintOperators#10215547, constraintValues#10215548, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, measurements#10215556, originalReplenishmentRunId#10215557L, optimizationGroups#10215558]
(25) Sort [codegen id : 4]
Input [36]: [worklistShardItemId#10215538L, orderProposalId#10215515L, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, originalReplenishmentRunId#10215557L, splitIndicator#10215534L, previousOrderProposal#10215535L, sourceOfSupplyUuid#10215529, supplierGroup#10215517, supplier#10215518, subrange#10215521, product#10215524, plant#10215519, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, isFallbackOrderOnly#10215532, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, netPriceAmount#10215551, netPriceCurrencyCode#10215552, measurements#10215556, minimumOrderQuantity#10215545, constraintLabels#10215546, constraintOperators#10215547, constraintValues#10215548, logisticUnits#10215542, optimizationGroups#10215558, externalProductId#10215540, externalPlantId#10215541, supplyingPlant#10215522, productGroup#10215523]
Arguments: [worklistShardItemId#10215538L ASC NULLS FIRST], false, 0
(26) SortMergeJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#10215314L]
Right keys [1]: [worklistShardItemId#10215538L]
Join type: LeftOuter
Join condition: (shardId#10214802 = 0_3_10000000540)
(27) Project [codegen id : 5]
Output [39]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215515L, originalReplenishmentRunId#10215557L, supplierGroup#10215517, supplier#10215518, supplyingPlant#10215522, productGroup#10215523, product#10215524, plant#10215519, subrange#10215521, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, constraintValues#10215548, constraintOperators#10215547, constraintLabels#10215546, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, splitIndicator#10215534L, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, sourceOfSupplyUuid#10215529, minimumOrderQuantity#10215545, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, optimizationGroups#10215558, measurements#10215556, externalProductId#10215540, externalPlantId#10215541, previousOrderProposal#10215535L, isFallbackOrderOnly#10215532]
Input [40]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316, worklistShardItemId#10215538L, orderProposalId#10215515L, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, originalReplenishmentRunId#10215557L, splitIndicator#10215534L, previousOrderProposal#10215535L, sourceOfSupplyUuid#10215529, supplierGroup#10215517, supplier#10215518, subrange#10215521, product#10215524, plant#10215519, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, isFallbackOrderOnly#10215532, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, netPriceAmount#10215551, netPriceCurrencyCode#10215552, measurements#10215556, minimumOrderQuantity#10215545, constraintLabels#10215546, constraintOperators#10215547, constraintValues#10215548, logisticUnits#10215542, optimizationGroups#10215558, externalProductId#10215540, externalPlantId#10215541, supplyingPlant#10215522, productGroup#10215523]
(28) Exchange
Input [39]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215515L, originalReplenishmentRunId#10215557L, supplierGroup#10215517, supplier#10215518, supplyingPlant#10215522, productGroup#10215523, product#10215524, plant#10215519, subrange#10215521, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, constraintValues#10215548, constraintOperators#10215547, constraintLabels#10215546, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, splitIndicator#10215534L, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, sourceOfSupplyUuid#10215529, minimumOrderQuantity#10215545, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, optimizationGroups#10215558, measurements#10215556, externalProductId#10215540, externalPlantId#10215541, previousOrderProposal#10215535L, isFallbackOrderOnly#10215532]
Arguments: hashpartitioning(shardId#10214802, worklistShardItemId#10215314L, 30), ENSURE_REQUIREMENTS, [plan_id=3020513]
(29) Sort [codegen id : 6]
Input [39]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215515L, originalReplenishmentRunId#10215557L, supplierGroup#10215517, supplier#10215518, supplyingPlant#10215522, productGroup#10215523, product#10215524, plant#10215519, subrange#10215521, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, constraintValues#10215548, constraintOperators#10215547, constraintLabels#10215546, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, splitIndicator#10215534L, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, sourceOfSupplyUuid#10215529, minimumOrderQuantity#10215545, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, optimizationGroups#10215558, measurements#10215556, externalProductId#10215540, externalPlantId#10215541, previousOrderProposal#10215535L, isFallbackOrderOnly#10215532]
Arguments: [shardId#10214802 ASC NULLS FIRST, worklistShardItemId#10215314L ASC NULLS FIRST], false, 0
(30) Scan ExistingRDD [codegen id : 7]
Output [6]: [shardId#10216271, worklistShardItemId#10216272L, qty#10216273, demandChannel#10216274, demandStream#10216275, kpis#10216276]
Arguments: [shardId#10216271, worklistShardItemId#10216272L, qty#10216273, demandChannel#10216274, demandStream#10216275, kpis#10216276], MapPartitionsRDD[434456] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(31) Filter [codegen id : 7]
Input [6]: [shardId#10216271, worklistShardItemId#10216272L, qty#10216273, demandChannel#10216274, demandStream#10216275, kpis#10216276]
Condition : (((isnull(qty#10216273) AND isnull(demandChannel#10216274)) AND isnull(demandStream#10216275)) AND (isnotnull(shardId#10216271) AND isnotnull(worklistShardItemId#10216272L)))
(32) Project [codegen id : 7]
Output [3]: [shardId#10216271, worklistShardItemId#10216272L, coalesce(kpis#10216276, []) AS prodLocSpecificKpis#10216277]
Input [6]: [shardId#10216271, worklistShardItemId#10216272L, qty#10216273, demandChannel#10216274, demandStream#10216275, kpis#10216276]
(33) Exchange
Input [3]: [shardId#10216271, worklistShardItemId#10216272L, prodLocSpecificKpis#10216277]
Arguments: hashpartitioning(shardId#10216271, worklistShardItemId#10216272L, 30), ENSURE_REQUIREMENTS, [plan_id=3020519]
(34) Sort [codegen id : 8]
Input [3]: [shardId#10216271, worklistShardItemId#10216272L, prodLocSpecificKpis#10216277]
Arguments: [shardId#10216271 ASC NULLS FIRST, worklistShardItemId#10216272L ASC NULLS FIRST], false, 0
(35) SortMergeJoin [codegen id : 9]
Left keys [2]: [shardId#10214802, worklistShardItemId#10215314L]
Right keys [2]: [shardId#10216271, worklistShardItemId#10216272L]
Join type: LeftOuter
Join condition: None
(36) Project [codegen id : 9]
Output [40]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215515L, originalReplenishmentRunId#10215557L, supplierGroup#10215517, supplier#10215518, supplyingPlant#10215522, productGroup#10215523, product#10215524, plant#10215519, subrange#10215521, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, constraintValues#10215548, constraintOperators#10215547, constraintLabels#10215546, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, splitIndicator#10215534L, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, sourceOfSupplyUuid#10215529, minimumOrderQuantity#10215545, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, optimizationGroups#10215558, measurements#10215556, externalProductId#10215540, externalPlantId#10215541, previousOrderProposal#10215535L, isFallbackOrderOnly#10215532, coalesce(prodLocSpecificKpis#10216277, []) AS prodLocSpecificKpis#10216278]
Input [42]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215515L, originalReplenishmentRunId#10215557L, supplierGroup#10215517, supplier#10215518, supplyingPlant#10215522, productGroup#10215523, product#10215524, plant#10215519, subrange#10215521, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, constraintValues#10215548, constraintOperators#10215547, constraintLabels#10215546, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, splitIndicator#10215534L, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, sourceOfSupplyUuid#10215529, minimumOrderQuantity#10215545, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, optimizationGroups#10215558, measurements#10215556, externalProductId#10215540, externalPlantId#10215541, previousOrderProposal#10215535L, isFallbackOrderOnly#10215532, shardId#10216271, worklistShardItemId#10216272L, prodLocSpecificKpis#10216277]
(37) Scan ExistingRDD [codegen id : 10]
Output [6]: [shardId#10216287, worklistShardItemId#10216288L, qty#10216289, demandChannel#10216290, demandStream#10216291, kpis#10216292]
Arguments: [shardId#10216287, worklistShardItemId#10216288L, qty#10216289, demandChannel#10216290, demandStream#10216291, kpis#10216292], MapPartitionsRDD[434456] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(38) Filter [codegen id : 10]
Input [6]: [shardId#10216287, worklistShardItemId#10216288L, qty#10216289, demandChannel#10216290, demandStream#10216291, kpis#10216292]
Condition : ((((isnull(qty#10216289) AND isnotnull(demandChannel#10216290)) AND isnotnull(demandStream#10216291)) AND (size(kpis#10216292, true) > 0)) AND (isnotnull(shardId#10216287) AND isnotnull(worklistShardItemId#10216288L)))
(39) Project [codegen id : 10]
Output [5]: [shardId#10216287, worklistShardItemId#10216288L, demandChannel#10216290, demandStream#10216291, kpis#10216292]
Input [6]: [shardId#10216287, worklistShardItemId#10216288L, qty#10216289, demandChannel#10216290, demandStream#10216291, kpis#10216292]
(40) ObjectHashAggregate
Input [5]: [shardId#10216287, worklistShardItemId#10216288L, demandChannel#10216290, demandStream#10216291, kpis#10216292]
Keys [2]: [shardId#10216287, worklistShardItemId#10216288L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#10216290, demandStream, demandStream#10216291, kpis, kpis#10216292), 0, 0)]
Aggregate Attributes [1]: [buf#10216467]
Results [3]: [shardId#10216287, worklistShardItemId#10216288L, buf#10216468]
(41) Exchange
Input [3]: [shardId#10216287, worklistShardItemId#10216288L, buf#10216468]
Arguments: hashpartitioning(shardId#10216287, worklistShardItemId#10216288L, 30), ENSURE_REQUIREMENTS, [plan_id=3020530]
(42) ObjectHashAggregate
Input [3]: [shardId#10216287, worklistShardItemId#10216288L, buf#10216468]
Keys [2]: [shardId#10216287, worklistShardItemId#10216288L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#10216290, demandStream, demandStream#10216291, kpis, kpis#10216292), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#10216290, demandStream, demandStream#10216291, kpis, kpis#10216292), 0, 0)#10216286]
Results [3]: [shardId#10216287, worklistShardItemId#10216288L, collect_list(struct(demandChannel, demandChannel#10216290, demandStream, demandStream#10216291, kpis, kpis#10216292), 0, 0)#10216286 AS channelStreamSpecificKpis#10216279]
(43) Sort [codegen id : 11]
Input [3]: [shardId#10216287, worklistShardItemId#10216288L, channelStreamSpecificKpis#10216279]
Arguments: [shardId#10216287 ASC NULLS FIRST, worklistShardItemId#10216288L ASC NULLS FIRST], false, 0
(44) SortMergeJoin [codegen id : 12]
Left keys [2]: [shardId#10214802, worklistShardItemId#10215314L]
Right keys [2]: [shardId#10216287, worklistShardItemId#10216288L]
Join type: LeftOuter
Join condition: None
(45) Project [codegen id : 12]
Output [41]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215515L, originalReplenishmentRunId#10215557L, supplierGroup#10215517, supplier#10215518, supplyingPlant#10215522, productGroup#10215523, product#10215524, plant#10215519, subrange#10215521, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, constraintValues#10215548, constraintOperators#10215547, constraintLabels#10215546, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, splitIndicator#10215534L, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, sourceOfSupplyUuid#10215529, minimumOrderQuantity#10215545, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, optimizationGroups#10215558, measurements#10215556, externalProductId#10215540, externalPlantId#10215541, previousOrderProposal#10215535L, isFallbackOrderOnly#10215532, prodLocSpecificKpis#10216278, coalesce(channelStreamSpecificKpis#10216279, []) AS channelStreamSpecificKpis#10216293]
Input [43]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215515L, originalReplenishmentRunId#10215557L, supplierGroup#10215517, supplier#10215518, supplyingPlant#10215522, productGroup#10215523, product#10215524, plant#10215519, subrange#10215521, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, constraintValues#10215548, constraintOperators#10215547, constraintLabels#10215546, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, splitIndicator#10215534L, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, sourceOfSupplyUuid#10215529, minimumOrderQuantity#10215545, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, optimizationGroups#10215558, measurements#10215556, externalProductId#10215540, externalPlantId#10215541, previousOrderProposal#10215535L, isFallbackOrderOnly#10215532, prodLocSpecificKpis#10216278, shardId#10216287, worklistShardItemId#10216288L, channelStreamSpecificKpis#10216279]
(46) Scan ExistingRDD [codegen id : 13]
Output [6]: [shardId#10216300, worklistShardItemId#10216301L, qty#10216302, demandChannel#10216303, demandStream#10216304, kpis#10216305]
Arguments: [shardId#10216300, worklistShardItemId#10216301L, qty#10216302, demandChannel#10216303, demandStream#10216304, kpis#10216305], MapPartitionsRDD[434456] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(47) Filter [codegen id : 13]
Input [6]: [shardId#10216300, worklistShardItemId#10216301L, qty#10216302, demandChannel#10216303, demandStream#10216304, kpis#10216305]
Condition : ((isnotnull(qty#10216302) AND isnotnull(kpis#10216305)) AND (isnotnull(shardId#10216300) AND isnotnull(worklistShardItemId#10216301L)))
(48) Project [codegen id : 13]
Output [4]: [shardId#10216300, worklistShardItemId#10216301L, qty#10216302, kpis#10216305]
Input [6]: [shardId#10216300, worklistShardItemId#10216301L, qty#10216302, demandChannel#10216303, demandStream#10216304, kpis#10216305]
(49) ObjectHashAggregate
Input [4]: [shardId#10216300, worklistShardItemId#10216301L, qty#10216302, kpis#10216305]
Keys [2]: [shardId#10216300, worklistShardItemId#10216301L]
Functions [1]: [partial_collect_list(struct(qty, qty#10216302, kpis, kpis#10216305), 0, 0)]
Aggregate Attributes [1]: [buf#10216469]
Results [3]: [shardId#10216300, worklistShardItemId#10216301L, buf#10216470]
(50) Exchange
Input [3]: [shardId#10216300, worklistShardItemId#10216301L, buf#10216470]
Arguments: hashpartitioning(shardId#10216300, worklistShardItemId#10216301L, 30), ENSURE_REQUIREMENTS, [plan_id=3020542]
(51) ObjectHashAggregate
Input [3]: [shardId#10216300, worklistShardItemId#10216301L, buf#10216470]
Keys [2]: [shardId#10216300, worklistShardItemId#10216301L]
Functions [1]: [collect_list(struct(qty, qty#10216302, kpis, kpis#10216305), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#10216302, kpis, kpis#10216305), 0, 0)#10216299]
Results [3]: [shardId#10216300, worklistShardItemId#10216301L, map_from_entries(collect_list(struct(qty, qty#10216302, kpis, kpis#10216305), 0, 0)#10216299) AS quantityKpis#10216294]
(52) Sort [codegen id : 14]
Input [3]: [shardId#10216300, worklistShardItemId#10216301L, quantityKpis#10216294]
Arguments: [shardId#10216300 ASC NULLS FIRST, worklistShardItemId#10216301L ASC NULLS FIRST], false, 0
(53) SortMergeJoin [codegen id : 15]
Left keys [2]: [shardId#10214802, worklistShardItemId#10215314L]
Right keys [2]: [shardId#10216300, worklistShardItemId#10216301L]
Join type: LeftOuter
Join condition: None
(54) Project [codegen id : 15]
Output [42]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215515L, originalReplenishmentRunId#10215557L, supplierGroup#10215517, supplier#10215518, supplyingPlant#10215522, productGroup#10215523, product#10215524, plant#10215519, subrange#10215521, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, constraintValues#10215548, constraintOperators#10215547, constraintLabels#10215546, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, splitIndicator#10215534L, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, sourceOfSupplyUuid#10215529, minimumOrderQuantity#10215545, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, optimizationGroups#10215558, measurements#10215556, externalProductId#10215540, externalPlantId#10215541, previousOrderProposal#10215535L, isFallbackOrderOnly#10215532, prodLocSpecificKpis#10216278, channelStreamSpecificKpis#10216293, coalesce(quantityKpis#10216294, map(keys: [], values: [])) AS quantityKpis#10216306]
Input [44]: [shardId#10214802, worklistShardItemId#10215314L, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215515L, originalReplenishmentRunId#10215557L, supplierGroup#10215517, supplier#10215518, supplyingPlant#10215522, productGroup#10215523, product#10215524, plant#10215519, subrange#10215521, orderDateTime#10215525, deliveryDateTime#10215520, availabilityDateTime#10215526, nextAvailabilityDateTime#10215527, constraintValues#10215548, constraintOperators#10215547, constraintLabels#10215546, logisticUnits#10215542, orderQuantityBaseUom#10215543, orderQuantityBaseUomUuid#10215544, splitIndicator#10215534L, netPriceAmount#10215551, netPriceCurrencyCode#10215552, netPriceQuantity#10215553, netPriceQuantityUom#10215554, netPriceQuantityUomUuid#10215555, sourceOfSupplyUuid#10215529, minimumOrderQuantity#10215545, orderProposalItemId#10215516, orderProposalItemGroupId#10215539, optimizationGroups#10215558, measurements#10215556, externalProductId#10215540, externalPlantId#10215541, previousOrderProposal#10215535L, isFallbackOrderOnly#10215532, prodLocSpecificKpis#10216278, channelStreamSpecificKpis#10216293, shardId#10216300, worklistShardItemId#10216301L, quantityKpis#10216294]
(55) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#10215492, channelStreamSpecificKpis#10216293, constraintLabels#10215504, constraintOperators#10215505, constraintValues#10215507, deliveryDateTime#10215491, isFallbackOrderOnly#10215494, logisticUnits#10215509, measurements#10215502, minimumOrderQuantity#10215503, netPriceAmount#10215500, netPriceCurrencyCode#10215501, netPriceQuantity#10215497, netPriceQuantityUom#10215498, netPriceQuantityUomUuid#10215499, nextAvailabilityDateTime#10215493, optimizationGroups#10215510, orderDateTime#10215490, orderProposalId#10215472L, orderProposalItemGroupId#10215474, orderProposalItemId#10215473, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid#10215496, originalReplenishmentRunId#10215475L, plant#10215486, previousOrderProposal#10215478L, prodLocSpecificKpis#10216278, product#10215485, productGroup#10215514, qty#10215316, quantityAfterProdPlantOptimization#10215315, quantityKpis#10216306, shardId#10214802, sourceOfSupplyUuid#10215481, splitIndicator#10215477L, subrange#10215484, supplier#10215483, supplierGroup#10215482, supplyingPlant#10215513]
Condition : NOT (isFallbackOrderOnly#10215494 <=> true)
(56) Project [codegen id : 1]
Output [36]: [shardId#10214802, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215472L, originalReplenishmentRunId#10215475L, supplierGroup#10215482, supplier#10215483, supplyingPlant#10215513, productGroup#10215514, product#10215485, plant#10215486, subrange#10215484, orderDateTime#10215490, deliveryDateTime#10215491, availabilityDateTime#10215492, nextAvailabilityDateTime#10215493, logisticUnits#10215509, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid#10215496, splitIndicator#10215477L, netPriceAmount#10215500, netPriceCurrencyCode#10215501, netPriceQuantity#10215497, netPriceQuantityUom#10215498, netPriceQuantityUomUuid#10215499, sourceOfSupplyUuid#10215481, minimumOrderQuantity#10215503, orderProposalItemId#10215473, orderProposalItemGroupId#10215474, optimizationGroups#10215510, measurements#10215502, previousOrderProposal#10215478L, prodLocSpecificKpis#10216278, channelStreamSpecificKpis#10216293, quantityKpis#10216306, arrays_zip(constraintLabels#10215504, constraintOperators#10215505, constraintValues#10215507, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#10216720]
Input [39]: [availabilityDateTime#10215492, channelStreamSpecificKpis#10216293, constraintLabels#10215504, constraintOperators#10215505, constraintValues#10215507, deliveryDateTime#10215491, isFallbackOrderOnly#10215494, logisticUnits#10215509, measurements#10215502, minimumOrderQuantity#10215503, netPriceAmount#10215500, netPriceCurrencyCode#10215501, netPriceQuantity#10215497, netPriceQuantityUom#10215498, netPriceQuantityUomUuid#10215499, nextAvailabilityDateTime#10215493, optimizationGroups#10215510, orderDateTime#10215490, orderProposalId#10215472L, orderProposalItemGroupId#10215474, orderProposalItemId#10215473, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid#10215496, originalReplenishmentRunId#10215475L, plant#10215486, previousOrderProposal#10215478L, prodLocSpecificKpis#10216278, product#10215485, productGroup#10215514, qty#10215316, quantityAfterProdPlantOptimization#10215315, quantityKpis#10216306, shardId#10214802, sourceOfSupplyUuid#10215481, splitIndicator#10215477L, subrange#10215484, supplier#10215483, supplierGroup#10215482, supplyingPlant#10215513]
(57) Project
Output [37]: [shardId#10214802, qty#10215316, orderProposalId#10215472L, originalReplenishmentRunId#10215475L, supplierGroup#10215482, supplier#10215483, supplyingPlant#10215513, productGroup#10215514, product#10215485, plant#10215486, subrange#10215484, orderDateTime#10215490, deliveryDateTime#10215491, availabilityDateTime#10215492, nextAvailabilityDateTime#10215493, logisticUnits#10215509, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid#10215496, splitIndicator#10215477L, netPriceAmount#10215500, netPriceCurrencyCode#10215501, netPriceQuantity#10215497, netPriceQuantityUom#10215498, netPriceQuantityUomUuid#10215499, sourceOfSupplyUuid#10215481, orderProposalItemId#10215473, orderProposalItemGroupId#10215474, optimizationGroups#10215510, measurements#10215502, previousOrderProposal#10215478L, prodLocSpecificKpis#10216278, channelStreamSpecificKpis#10216293, quantityKpis#10216306, struct(minServiceLevel, array_min(filter(constraintStructArray#10216720, lambdafunction((lambda x_33860#10216727.constraintLabels = ServiceLevel), lambda x_33860#10216727, false)).constraintValues), minServiceLevelMinStock, array_min(filter(constraintStructArray#10216720, lambdafunction((lambda x_33861#10216728.constraintLabels = ServiceLevelMinimumStock), lambda x_33861#10216728, false)).constraintValues), maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#10216720, lambdafunction((lambda x_33862#10216729.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_33862#10216729, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#10216720, lambdafunction((lambda x_33863#10216730.constraintLabels = RangeOfCoverage), lambda x_33863#10216730, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#10215503, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#10216278, lambdafunction((lambda x_33864#10216731.label = NonListingStartTimestamp), lambda x_33864#10216731, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#10216726, CASE WHEN (qty#10215316 <=> quantityAfterProdPlantOptimization#10215315) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#10215316 * (cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33865#10216799.isOrderUnit, lambda x_33865#10216799, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33865#10216800.isOrderUnit, lambda x_33865#10216800, false)), 1, None, false).numerator as double))), qty#10215316), orderQuantityUom, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33865#10216801.isOrderUnit, lambda x_33865#10216801, false)), 1, None, false).uom, orderQuantityBaseUom#10215495), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33865#10216802.isOrderUnit, lambda x_33865#10216802, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#10215496), candidateOrderQuantityInBaseUnit, qty#10215316, orderQuantityBaseUom, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#10215496, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#10215509, lambdafunction((lambda x_33867#10216803.isPreferred AND (((qty#10215316 * cast(lambda x_33867#10216803.denominator as double)) % cast(lambda x_33867#10216803.numerator as double)) = 0.0)), lambda x_33867#10216803, false)), lambdafunction(struct(inPreferredQuantity, ((qty#10215316 * cast(lambda x_33868#10216844.denominator as double)) / cast(lambda x_33868#10216844.numerator as double)), uom, lambda x_33868#10216844.uom, uomUuid, lambda x_33868#10216844.uomUuid), lambda x_33868#10216844, false))).inPreferredQuantity, coalesce((qty#10215316 * (cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33866#10216804.isOrderUnit, lambda x_33866#10216804, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33866#10216805.isOrderUnit, lambda x_33866#10216805, false)), 1, None, false).numerator as double))), qty#10215316)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#10215509, lambdafunction((lambda x_33867#10216806.isPreferred AND (((qty#10215316 * cast(lambda x_33867#10216806.denominator as double)) % cast(lambda x_33867#10216806.numerator as double)) = 0.0)), lambda x_33867#10216806, false)), lambdafunction(struct(inPreferredQuantity, ((qty#10215316 * cast(lambda x_33868#10216845.denominator as double)) / cast(lambda x_33868#10216845.numerator as double)), uom, lambda x_33868#10216845.uom, uomUuid, lambda x_33868#10216845.uomUuid), lambda x_33868#10216845, false))).uom, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33866#10216807.isOrderUnit, lambda x_33866#10216807, false)), 1, None, false).uom, orderQuantityBaseUom#10215495)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#10215509, lambdafunction((lambda x_33867#10216808.isPreferred AND (((qty#10215316 * cast(lambda x_33867#10216808.denominator as double)) % cast(lambda x_33867#10216808.numerator as double)) = 0.0)), lambda x_33867#10216808, false)), lambdafunction(struct(inPreferredQuantity, ((qty#10215316 * cast(lambda x_33868#10216846.denominator as double)) / cast(lambda x_33868#10216846.numerator as double)), uom, lambda x_33868#10216846.uom, uomUuid, lambda x_33868#10216846.uomUuid), lambda x_33868#10216846, false))).uomUuid, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33866#10216809.isOrderUnit, lambda x_33866#10216809, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#10215496)), serviceLevel, coalesce(filter(element_at(quantityKpis#10216306, qty#10215316, None, false), lambdafunction((lambda x_33873#10216810.label = ServiceLevel), lambda x_33873#10216810, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#10215316 * (cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33865#10216814.isOrderUnit, lambda x_33865#10216814, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33865#10216815.isOrderUnit, lambda x_33865#10216815, false)), 1, None, false).numerator as double))), qty#10215316), orderQuantityUom, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33865#10216816.isOrderUnit, lambda x_33865#10216816, false)), 1, None, false).uom, orderQuantityBaseUom#10215495), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33865#10216817.isOrderUnit, lambda x_33865#10216817, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#10215496), candidateOrderQuantityInBaseUnit, qty#10215316, orderQuantityBaseUom, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#10215496, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#10215509, lambdafunction((lambda x_33867#10216818.isPreferred AND (((qty#10215316 * cast(lambda x_33867#10216818.denominator as double)) % cast(lambda x_33867#10216818.numerator as double)) = 0.0)), lambda x_33867#10216818, false)), lambdafunction(struct(inPreferredQuantity, ((qty#10215316 * cast(lambda x_33868#10216847.denominator as double)) / cast(lambda x_33868#10216847.numerator as double)), uom, lambda x_33868#10216847.uom, uomUuid, lambda x_33868#10216847.uomUuid), lambda x_33868#10216847, false))).inPreferredQuantity, coalesce((qty#10215316 * (cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33866#10216819.isOrderUnit, lambda x_33866#10216819, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33866#10216820.isOrderUnit, lambda x_33866#10216820, false)), 1, None, false).numerator as double))), qty#10215316)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#10215509, lambdafunction((lambda x_33867#10216821.isPreferred AND (((qty#10215316 * cast(lambda x_33867#10216821.denominator as double)) % cast(lambda x_33867#10216821.numerator as double)) = 0.0)), lambda x_33867#10216821, false)), lambdafunction(struct(inPreferredQuantity, ((qty#10215316 * cast(lambda x_33868#10216848.denominator as double)) / cast(lambda x_33868#10216848.numerator as double)), uom, lambda x_33868#10216848.uom, uomUuid, lambda x_33868#10216848.uomUuid), lambda x_33868#10216848, false))).uom, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33866#10216822.isOrderUnit, lambda x_33866#10216822, false)), 1, None, false).uom, orderQuantityBaseUom#10215495)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#10215509, lambdafunction((lambda x_33867#10216823.isPreferred AND (((qty#10215316 * cast(lambda x_33867#10216823.denominator as double)) % cast(lambda x_33867#10216823.numerator as double)) = 0.0)), lambda x_33867#10216823, false)), lambdafunction(struct(inPreferredQuantity, ((qty#10215316 * cast(lambda x_33868#10216849.denominator as double)) / cast(lambda x_33868#10216849.numerator as double)), uom, lambda x_33868#10216849.uom, uomUuid, lambda x_33868#10216849.uomUuid), lambda x_33868#10216849, false))).uomUuid, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33866#10216824.isOrderUnit, lambda x_33866#10216824, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#10215496)), serviceLevel, coalesce(filter(element_at(quantityKpis#10216306, qty#10215316, None, false), lambdafunction((lambda x_33877#10216825.label = ServiceLevel), lambda x_33877#10216825, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#10215315 * (cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33869#10216829.isOrderUnit, lambda x_33869#10216829, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33869#10216830.isOrderUnit, lambda x_33869#10216830, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#10215315), orderQuantityUom, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33869#10216831.isOrderUnit, lambda x_33869#10216831, false)), 1, None, false).uom, orderQuantityBaseUom#10215495), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33869#10216832.isOrderUnit, lambda x_33869#10216832, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#10215496), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#10215315, orderQuantityBaseUom, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#10215496, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#10215509, lambdafunction((lambda x_33871#10216833.isPreferred AND (((quantityAfterProdPlantOptimization#10215315 * cast(lambda x_33871#10216833.denominator as double)) % cast(lambda x_33871#10216833.numerator as double)) = 0.0)), lambda x_33871#10216833, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#10215315 * cast(lambda x_33872#10216850.denominator as double)) / cast(lambda x_33872#10216850.numerator as double)), uom, lambda x_33872#10216850.uom, uomUuid, lambda x_33872#10216850.uomUuid), lambda x_33872#10216850, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#10215315 * (cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33870#10216834.isOrderUnit, lambda x_33870#10216834, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33870#10216835.isOrderUnit, lambda x_33870#10216835, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#10215315)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#10215509, lambdafunction((lambda x_33871#10216836.isPreferred AND (((quantityAfterProdPlantOptimization#10215315 * cast(lambda x_33871#10216836.denominator as double)) % cast(lambda x_33871#10216836.numerator as double)) = 0.0)), lambda x_33871#10216836, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#10215315 * cast(lambda x_33872#10216851.denominator as double)) / cast(lambda x_33872#10216851.numerator as double)), uom, lambda x_33872#10216851.uom, uomUuid, lambda x_33872#10216851.uomUuid), lambda x_33872#10216851, false))).uom, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33870#10216837.isOrderUnit, lambda x_33870#10216837, false)), 1, None, false).uom, orderQuantityBaseUom#10215495)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#10215509, lambdafunction((lambda x_33871#10216838.isPreferred AND (((quantityAfterProdPlantOptimization#10215315 * cast(lambda x_33871#10216838.denominator as double)) % cast(lambda x_33871#10216838.numerator as double)) = 0.0)), lambda x_33871#10216838, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#10215315 * cast(lambda x_33872#10216852.denominator as double)) / cast(lambda x_33872#10216852.numerator as double)), uom, lambda x_33872#10216852.uom, uomUuid, lambda x_33872#10216852.uomUuid), lambda x_33872#10216852, false))).uomUuid, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33870#10216839.isOrderUnit, lambda x_33870#10216839, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#10215496)), serviceLevel, coalesce(filter(element_at(quantityKpis#10216306, quantityAfterProdPlantOptimization#10215315, None, false), lambdafunction((lambda x_33881#10216840.label = ServiceLevel), lambda x_33881#10216840, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#10216798, coalesce(filter(prodLocSpecificKpis#10216278, lambdafunction((lambda x_33885#10216854.label = InitialStockQty), lambda x_33885#10216854, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#10216853, coalesce(filter(prodLocSpecificKpis#10216278, lambdafunction((lambda x_33886#10216856.label = DemandPeriodEndTimestamp), lambda x_33886#10216856, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#10216855]
Input [36]: [shardId#10214802, quantityAfterProdPlantOptimization#10215315, qty#10215316, orderProposalId#10215472L, originalReplenishmentRunId#10215475L, supplierGroup#10215482, supplier#10215483, supplyingPlant#10215513, productGroup#10215514, product#10215485, plant#10215486, subrange#10215484, orderDateTime#10215490, deliveryDateTime#10215491, availabilityDateTime#10215492, nextAvailabilityDateTime#10215493, logisticUnits#10215509, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid#10215496, splitIndicator#10215477L, netPriceAmount#10215500, netPriceCurrencyCode#10215501, netPriceQuantity#10215497, netPriceQuantityUom#10215498, netPriceQuantityUomUuid#10215499, sourceOfSupplyUuid#10215481, minimumOrderQuantity#10215503, orderProposalItemId#10215473, orderProposalItemGroupId#10215474, optimizationGroups#10215510, measurements#10215502, previousOrderProposal#10215478L, prodLocSpecificKpis#10216278, channelStreamSpecificKpis#10216293, quantityKpis#10216306, constraintStructArray#10216720]
(58) Project
Output [21]: [shardId#10214802, qty#10215316, orderProposalId#10215472L, originalReplenishmentRunId#10215475L, supplierGroup#10215482, supplier#10215483, supplyingPlant#10215513, productGroup#10215514, product#10215485, plant#10215486, subrange#10215484, orderDateTime#10215490, deliveryDateTime#10215491, logisticUnits#10215509, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid#10215496, splitIndicator#10215477L, orderProposalItemId#10215473, orderProposalItemGroupId#10215474, previousOrderProposal#10215478L, struct(itemId, orderProposalItemId#10215473, itemGroupId, orderProposalItemGroupId#10215474, supplier, supplier#10215483, supplyingPlant, supplyingPlant#10215513, productGroup, productGroup#10215514, product, product#10215485, plant, plant#10215486, supplierSubRange, subrange#10215484, sourceOfSupplyUuid, sourceOfSupplyUuid#10215481, deliveryDateTime, deliveryDateTime#10215491, unitPrice, netPriceAmount#10215500, unitPriceCurrency, netPriceCurrencyCode#10215501, unitPriceQuantity, ... 37 more fields) AS parentItem#10216929]
Input [37]: [shardId#10214802, qty#10215316, orderProposalId#10215472L, originalReplenishmentRunId#10215475L, supplierGroup#10215482, supplier#10215483, supplyingPlant#10215513, productGroup#10215514, product#10215485, plant#10215486, subrange#10215484, orderDateTime#10215490, deliveryDateTime#10215491, availabilityDateTime#10215492, nextAvailabilityDateTime#10215493, logisticUnits#10215509, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid#10215496, splitIndicator#10215477L, netPriceAmount#10215500, netPriceCurrencyCode#10215501, netPriceQuantity#10215497, netPriceQuantityUom#10215498, netPriceQuantityUomUuid#10215499, sourceOfSupplyUuid#10215481, orderProposalItemId#10215473, orderProposalItemGroupId#10215474, optimizationGroups#10215510, measurements#10215502, previousOrderProposal#10215478L, prodLocSpecificKpis#10216278, channelStreamSpecificKpis#10216293, quantityKpis#10216306, constraintBenchmark#10216726, calculationAnalysis#10216798, inventoryDateTime#10216853, demandPeriodEndDateTime#10216855]
(59) Project
Output [12]: [shardId#10214802, orderProposalId#10215472L, originalReplenishmentRunId#10215475L, supplierGroup#10215482, supplier#10215483, supplyingPlant#10215513, orderDateTime#10215490, splitIndicator#10215477L, orderProposalItemGroupId#10215474, previousOrderProposal#10215478L, parentItem#10216929, struct(itemId, orderProposalItemId#10215473, supplier, supplier#10215483, supplyingPlant, supplyingPlant#10215513, productGroup, productGroup#10215514, product, product#10215485, plant, plant#10215486, supplierSubRange, subrange#10215484, deliveryDateTime, deliveryDateTime#10215491, orderQuantity, coalesce((qty#10215316 * (cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33910#10216963.isOrderUnit, lambda x_33910#10216963, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33910#10216964.isOrderUnit, lambda x_33910#10216964, false)), 1, None, false).numerator as double))), qty#10215316), orderQuantityUom, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33910#10216965.isOrderUnit, lambda x_33910#10216965, false)), 1, None, false).uom, orderQuantityBaseUom#10215495), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#10215509, lambdafunction(lambda x_33910#10216966.isOrderUnit, lambda x_33910#10216966, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#10215496), orderQuantityInBaseUnit, qty#10215316, orderQuantityBaseUom, ... 13 more fields) AS item#10216960]
Input [21]: [shardId#10214802, qty#10215316, orderProposalId#10215472L, originalReplenishmentRunId#10215475L, supplierGroup#10215482, supplier#10215483, supplyingPlant#10215513, productGroup#10215514, product#10215485, plant#10215486, subrange#10215484, orderDateTime#10215490, deliveryDateTime#10215491, logisticUnits#10215509, orderQuantityBaseUom#10215495, orderQuantityBaseUomUuid#10215496, splitIndicator#10215477L, orderProposalItemId#10215473, orderProposalItemGroupId#10215474, previousOrderProposal#10215478L, parentItem#10216929]
(60) ObjectHashAggregate
Input [12]: [shardId#10214802, orderProposalId#10215472L, originalReplenishmentRunId#10215475L, supplierGroup#10215482, supplier#10215483, supplyingPlant#10215513, orderDateTime#10215490, splitIndicator#10215477L, orderProposalItemGroupId#10215474, previousOrderProposal#10215478L, parentItem#10216929, item#10216960]
Keys [4]: [shardId#10214802, orderProposalId#10215472L, splitIndicator#10215477L, orderProposalItemGroupId#10215474]
Functions [8]: [partial_max(originalReplenishmentRunId#10215475L), partial_max(supplierGroup#10215482), partial_max(supplier#10215483), partial_max(supplyingPlant#10215513), partial_max(orderDateTime#10215490), partial_collect_list(parentItem#10216929, 0, 0), partial_collect_set(previousOrderProposal#10215478L, 0, 0), partial_collect_list(item#10216960, 0, 0)]
Aggregate Attributes [8]: [max#10218213L, max#10218214, max#10218215, max#10218216, max#10218217, buf#10218218, buf#10218219, buf#10218220]
Results [12]: [shardId#10214802, orderProposalId#10215472L, splitIndicator#10215477L, orderProposalItemGroupId#10215474, max#10218221L, max#10218222, max#10218223, max#10218224, max#10218225, buf#10218226, buf#10218227, buf#10218228]
(61) Exchange
Input [12]: [shardId#10214802, orderProposalId#10215472L, splitIndicator#10215477L, orderProposalItemGroupId#10215474, max#10218221L, max#10218222, max#10218223, max#10218224, max#10218225, buf#10218226, buf#10218227, buf#10218228]
Arguments: hashpartitioning(shardId#10214802, orderProposalId#10215472L, splitIndicator#10215477L, orderProposalItemGroupId#10215474, 30), ENSURE_REQUIREMENTS, [plan_id=3020798]
(62) ObjectHashAggregate
Input [12]: [shardId#10214802, orderProposalId#10215472L, splitIndicator#10215477L, orderProposalItemGroupId#10215474, max#10218221L, max#10218222, max#10218223, max#10218224, max#10218225, buf#10218226, buf#10218227, buf#10218228]
Keys [4]: [shardId#10214802, orderProposalId#10215472L, splitIndicator#10215477L, orderProposalItemGroupId#10215474]
Functions [8]: [max(originalReplenishmentRunId#10215475L), max(supplierGroup#10215482), max(supplier#10215483), max(supplyingPlant#10215513), max(orderDateTime#10215490), collect_list(parentItem#10216929, 0, 0), collect_set(previousOrderProposal#10215478L, 0, 0), collect_list(item#10216960, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#10215475L)#10217029L, max(supplierGroup#10215482)#10217030, max(supplier#10215483)#10217031, max(supplyingPlant#10215513)#10217032, max(orderDateTime#10215490)#10217033, collect_list(parentItem#10216929, 0, 0)#10217034, collect_set(previousOrderProposal#10215478L, 0, 0)#10217036, collect_list(item#10216960, 0, 0)#10217035]
Results [10]: [shardId#10214802, orderProposalId#10215472L, max(originalReplenishmentRunId#10215475L)#10217029L AS originalReplenishmentRunId#10216977L, max(supplierGroup#10215482)#10217030 AS supplierGroup#10216978, max(supplier#10215483)#10217031 AS supplier#10216979, max(supplyingPlant#10215513)#10217032 AS supplyingPlant#10216980, max(orderDateTime#10215490)#10217033 AS orderDateTime#10216981, collect_list(parentItem#10216929, 0, 0)#10217034 AS parentItems#10216982, collect_set(previousOrderProposal#10215478L, 0, 0)#10217036 AS previousOrderProposals#10216984, struct(itemGroupId, orderProposalItemGroupId#10215474, items, collect_list(item#10216960, 0, 0)#10217035) AS itemGroup#10217038]
(63) ObjectHashAggregate
Input [10]: [shardId#10214802, orderProposalId#10215472L, originalReplenishmentRunId#10216977L, supplierGroup#10216978, supplier#10216979, supplyingPlant#10216980, orderDateTime#10216981, parentItems#10216982, previousOrderProposals#10216984, itemGroup#10217038]
Keys [2]: [shardId#10214802, orderProposalId#10215472L]
Functions [8]: [partial_max(originalReplenishmentRunId#10216977L), partial_max(supplierGroup#10216978), partial_max(supplier#10216979), partial_max(supplyingPlant#10216980), partial_max(orderDateTime#10216981), partial_collect_list(itemGroup#10217038, 0, 0), partial_collect_list(parentItems#10216982, 0, 0), partial_collect_set(previousOrderProposals#10216984, 0, 0)]
Aggregate Attributes [8]: [max#10218197L, max#10218198, max#10218199, max#10218200, max#10218201, buf#10218202, buf#10218203, buf#10218204]
Results [10]: [shardId#10214802, orderProposalId#10215472L, max#10218205L, max#10218206, max#10218207, max#10218208, max#10218209, buf#10218210, buf#10218211, buf#10218212]
(64) Exchange
Input [10]: [shardId#10214802, orderProposalId#10215472L, max#10218205L, max#10218206, max#10218207, max#10218208, max#10218209, buf#10218210, buf#10218211, buf#10218212]
Arguments: hashpartitioning(shardId#10214802, orderProposalId#10215472L, 30), ENSURE_REQUIREMENTS, [plan_id=3020801]
(65) ObjectHashAggregate
Input [10]: [shardId#10214802, orderProposalId#10215472L, max#10218205L, max#10218206, max#10218207, max#10218208, max#10218209, buf#10218210, buf#10218211, buf#10218212]
Keys [2]: [shardId#10214802, orderProposalId#10215472L]
Functions [8]: [max(originalReplenishmentRunId#10216977L), max(supplierGroup#10216978), max(supplier#10216979), max(supplyingPlant#10216980), max(orderDateTime#10216981), collect_list(itemGroup#10217038, 0, 0), collect_list(parentItems#10216982, 0, 0), collect_set(previousOrderProposals#10216984, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#10216977L)#10217060L, max(supplierGroup#10216978)#10217061, max(supplier#10216979)#10217062, max(supplyingPlant#10216980)#10217063, max(orderDateTime#10216981)#10217064, collect_list(itemGroup#10217038, 0, 0)#10217065, collect_list(parentItems#10216982, 0, 0)#10217066, collect_set(previousOrderProposals#10216984, 0, 0)#10217067]
Results [10]: [shardId#10214802, orderProposalId#10215472L, max(originalReplenishmentRunId#10216977L)#10217060L AS originalReplenishmentRunId#10217039L, max(supplierGroup#10216978)#10217061 AS supplierGroup#10217040, max(supplier#10216979)#10217062 AS supplier#10217041, max(supplyingPlant#10216980)#10217063 AS supplyingPlant#10217042, max(orderDateTime#10216981)#10217064 AS orderDateTime#10217043, collect_list(itemGroup#10217038, 0, 0)#10217065 AS itemGroups#10217044, flatten(collect_list(parentItems#10216982, 0, 0)#10217066) AS parentItems#10217045, flatten(collect_set(previousOrderProposals#10216984, 0, 0)#10217067) AS previousOrderProposals#10217046]
(66) Project
Output [2]: [shardId#10214802, struct(orderProposalId, orderProposalId#10215472L, originalReplenishmentRunId, originalReplenishmentRunId#10217039L, supplierGroup, supplierGroup#10217040, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#10217040) THEN supplier#10217041 END, supplyingPlant, supplyingPlant#10217042, orderDateTime, orderDateTime#10217043, itemGroups, itemGroups#10217044, previousOrderProposals, array_distinct(previousOrderProposals#10217046), parentItems, parentItems#10217045) AS orderProposal#10217071]
Input [10]: [shardId#10214802, orderProposalId#10215472L, originalReplenishmentRunId#10217039L, supplierGroup#10217040, supplier#10217041, supplyingPlant#10217042, orderDateTime#10217043, itemGroups#10217044, parentItems#10217045, previousOrderProposals#10217046]
(67) Project
Output [11]: [shardId#10214802, orderProposal#10217071.orderProposalId AS _extract_orderProposalId#10217829L, orderProposal#10217071.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#10217830L, orderProposal#10217071.supplierGroup AS _extract_supplierGroup#10217831, orderProposal#10217071.supplier AS _extract_supplier#10217832, orderProposal#10217071.supplyingPlant AS _extract_supplyingPlant#10217833, orderProposal#10217071.orderDateTime AS _extract_orderDateTime#10217834, orderProposal#10217071.itemGroups AS _extract_itemGroups#10217835, orderProposal#10217071.previousOrderProposals AS _extract_previousOrderProposals#10217836, orderProposal#10217071.parentItems AS _extract_parentItems#10217837, orderProposal#10217071.orderProposalId AS _extract_orderProposalId#10217838L]
Input [2]: [shardId#10214802, orderProposal#10217071]
(68) Exchange
Input [11]: [shardId#10214802, _extract_orderProposalId#10217829L, _extract_originalReplenishmentRunId#10217830L, _extract_supplierGroup#10217831, _extract_supplier#10217832, _extract_supplyingPlant#10217833, _extract_orderDateTime#10217834, _extract_itemGroups#10217835, _extract_previousOrderProposals#10217836, _extract_parentItems#10217837, _extract_orderProposalId#10217838L]
Arguments: hashpartitioning(coalesce(shardId#10214802, ), isnull(shardId#10214802), coalesce(_extract_orderProposalId#10217838L, 0), isnull(_extract_orderProposalId#10217838L), 30), ENSURE_REQUIREMENTS, [plan_id=3020805]
(69) Sort
Input [11]: [shardId#10214802, _extract_orderProposalId#10217829L, _extract_originalReplenishmentRunId#10217830L, _extract_supplierGroup#10217831, _extract_supplier#10217832, _extract_supplyingPlant#10217833, _extract_orderDateTime#10217834, _extract_itemGroups#10217835, _extract_previousOrderProposals#10217836, _extract_parentItems#10217837, _extract_orderProposalId#10217838L]
Arguments: [coalesce(shardId#10214802, ) ASC NULLS FIRST, isnull(shardId#10214802) ASC NULLS FIRST, coalesce(_extract_orderProposalId#10217838L, 0) ASC NULLS FIRST, isnull(_extract_orderProposalId#10217838L) ASC NULLS FIRST], false, 0
(70) InMemoryTableScan
Output [3]: [shardId#10217086, orderProposalId#10217087L, optimizationGroups#10217089]
Arguments: [shardId#10217086, orderProposalId#10217087L, optimizationGroups#10217089], [isnotnull(orderProposalId#10217087L)]
(71) InMemoryRelation
Arguments: [shardId#10217086, orderProposalId#10217087L, items#10217088, optimizationGroups#10217089, isOptimal#10217090, optimizationInsights#10217092], StorageLevel(disk, memory, 2 replicas)
(72) Filter [codegen id : 2]
Input [3]: [shardId#10217086, orderProposalId#10217087L, optimizationGroups#10217089]
Condition : isnotnull(orderProposalId#10217087L)
(73) Exchange
Input [3]: [shardId#10217086, orderProposalId#10217087L, optimizationGroups#10217089]
Arguments: hashpartitioning(orderProposalId#10217087L, 30), ENSURE_REQUIREMENTS, [plan_id=3020810]
(74) Sort [codegen id : 3]
Input [3]: [shardId#10217086, orderProposalId#10217087L, optimizationGroups#10217089]
Arguments: [orderProposalId#10217087L ASC NULLS FIRST], false, 0
(75) InMemoryTableScan
Output [2]: [items#10216715, shardId#10216713]
Arguments: [items#10216715, shardId#10216713], [(size(items#10216715.worklistShardItemId, true) > 0), isnotnull(items#10216715.worklistShardItemId), (shardId#10216713 = 0_3_10000000540)]
(76) InMemoryRelation
Arguments: [shardId#10216713, orderProposalId#10216714L, items#10216715, optimizationGroups#10216716, isOptimal#10216717, optimizationInsights#10216719], StorageLevel(disk, memory, 2 replicas)
(77) Filter [codegen id : 4]
Input [2]: [items#10216715, shardId#10216713]
Condition : (((size(items#10216715.worklistShardItemId, true) > 0) AND isnotnull(items#10216715.worklistShardItemId)) AND (shardId#10216713 = 0_3_10000000540))
(78) Project [codegen id : 4]
Output [1]: [items#10216715.worklistShardItemId AS _extract_worklistShardItemId#10217734]
Input [2]: [items#10216715, shardId#10216713]
(79) Generate [codegen id : 4]
Input [1]: [_extract_worklistShardItemId#10217734]
Arguments: explode(_extract_worklistShardItemId#10217734), false, [item#10217093L]
(80) Project [codegen id : 4]
Output [1]: [item#10217093L AS worklistShardItemId#10217094L]
Input [1]: [item#10217093L]
(81) BroadcastExchange
Input [1]: [worklistShardItemId#10217094L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=3020821]
(82) Scan parquet
Output [5]: [orderProposalId#10217142L, isFallbackOrderOnly#10217159, worklistShardItemId#10217165L, shardId#10217186, sequenceId#10217164]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000000540]
PartitionFilters: [isnotnull(shardId#10217186), isnotnull(sequenceId#10217164), (shardId#10217186 = 0_3_10000000540), (sequenceId#10217164 = 12)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(83) ColumnarToRow [codegen id : 5]
Input [5]: [orderProposalId#10217142L, isFallbackOrderOnly#10217159, worklistShardItemId#10217165L, shardId#10217186, sequenceId#10217164]
(84) Filter [codegen id : 5]
Input [5]: [orderProposalId#10217142L, isFallbackOrderOnly#10217159, worklistShardItemId#10217165L, shardId#10217186, sequenceId#10217164]
Condition : ((isnotnull(worklistShardItemId#10217165L) AND NOT (isFallbackOrderOnly#10217159 <=> true)) AND isnotnull(orderProposalId#10217142L))
(85) Project [codegen id : 5]
Output [2]: [orderProposalId#10217142L, worklistShardItemId#10217165L]
Input [5]: [orderProposalId#10217142L, isFallbackOrderOnly#10217159, worklistShardItemId#10217165L, shardId#10217186, sequenceId#10217164]
(86) Exchange
Input [2]: [orderProposalId#10217142L, worklistShardItemId#10217165L]
Arguments: hashpartitioning(worklistShardItemId#10217165L, 30), REPARTITION_BY_NUM, [plan_id=3020828]
(87) Project
Output [2]: [worklistShardItemId#10217165L, orderProposalId#10217142L]
Input [2]: [orderProposalId#10217142L, worklistShardItemId#10217165L]
(88) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [worklistShardItemId#10217094L]
Right keys [1]: [worklistShardItemId#10217165L]
Join type: Inner
Join condition: None
(89) Project [codegen id : 6]
Output [1]: [orderProposalId#10217142L]
Input [3]: [worklistShardItemId#10217094L, worklistShardItemId#10217165L, orderProposalId#10217142L]
(90) HashAggregate [codegen id : 6]
Input [1]: [orderProposalId#10217142L]
Keys [1]: [orderProposalId#10217142L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#10217142L]
(91) Exchange
Input [1]: [orderProposalId#10217142L]
Arguments: hashpartitioning(orderProposalId#10217142L, 30), ENSURE_REQUIREMENTS, [plan_id=3020835]
(92) HashAggregate [codegen id : 7]
Input [1]: [orderProposalId#10217142L]
Keys [1]: [orderProposalId#10217142L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#10217142L]
(93) Sort [codegen id : 7]
Input [1]: [orderProposalId#10217142L]
Arguments: [orderProposalId#10217142L ASC NULLS FIRST], false, 0
(94) SortMergeJoin [codegen id : 8]
Left keys [1]: [orderProposalId#10217087L]
Right keys [1]: [orderProposalId#10217142L]
Join type: Inner
Join condition: None
(95) Project
Output [3]: [orderProposalId#10217087L, shardId#10217086, coalesce(transform(optimizationGroups#10217089, lambdafunction(struct(optGroupId, lambda x_33914#10217084.optGroupId, minOrderProfile, lambda x_33914#10217084.minOrderProfile, assignmentDetails, lambda x_33914#10217084.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_33914#10217084.minOrderGoal.dimensionType, unit, lambda x_33914#10217084.minOrderGoal.unit, unitUuid, lambda x_33914#10217084.minOrderGoal.unitUuid, goalValue, lambda x_33914#10217084.minOrderGoal.minOrderValue, calcValue, lambda x_33914#10217084.minOrderGoal.calculatedOrderValue), transportLoadProfile, null, transportLoadGoal, null), lambda x_33914#10217084, false)), []) AS optimizationGroups#10217083]
Input [4]: [shardId#10217086, orderProposalId#10217087L, optimizationGroups#10217089, orderProposalId#10217142L]
(96) Exchange
Input [3]: [orderProposalId#10217087L, shardId#10217086, optimizationGroups#10217083]
Arguments: hashpartitioning(coalesce(shardId#10217086, ), isnull(shardId#10217086), coalesce(orderProposalId#10217087L, 0), isnull(orderProposalId#10217087L), 30), ENSURE_REQUIREMENTS, [plan_id=3020844]
(97) Sort [codegen id : 9]
Input [3]: [orderProposalId#10217087L, shardId#10217086, optimizationGroups#10217083]
Arguments: [coalesce(shardId#10217086, ) ASC NULLS FIRST, isnull(shardId#10217086) ASC NULLS FIRST, coalesce(orderProposalId#10217087L, 0) ASC NULLS FIRST, isnull(orderProposalId#10217087L) ASC NULLS FIRST], false, 0
(98) SortMergeJoin
Left keys [4]: [coalesce(shardId#10214802, ), isnull(shardId#10214802), coalesce(_extract_orderProposalId#10217838L, 0), isnull(_extract_orderProposalId#10217838L)]
Right keys [4]: [coalesce(shardId#10217086, ), isnull(shardId#10217086), coalesce(orderProposalId#10217087L, 0), isnull(orderProposalId#10217087L)]
Join type: LeftOuter
Join condition: None
(99) Project
Output [2]: [shardId#10214802, named_struct(orderProposalId, _extract_orderProposalId#10217838L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#10217830L, supplierGroup, _extract_supplierGroup#10217831, optimizationGroups, coalesce(optimizationGroups#10217083, []), supplier, _extract_supplier#10217832, supplyingPlant, _extract_supplyingPlant#10217833, orderDateTime, _extract_orderDateTime#10217834, itemGroups, _extract_itemGroups#10217835, previousOrderProposals, _extract_previousOrderProposals#10217836, parentItems, _extract_parentItems#10217837) AS orderProposal#10217190]
Input [14]: [shardId#10214802, _extract_orderProposalId#10217829L, _extract_originalReplenishmentRunId#10217830L, _extract_supplierGroup#10217831, _extract_supplier#10217832, _extract_supplyingPlant#10217833, _extract_orderDateTime#10217834, _extract_itemGroups#10217835, _extract_previousOrderProposals#10217836, _extract_parentItems#10217837, _extract_orderProposalId#10217838L, orderProposalId#10217087L, shardId#10217086, optimizationGroups#10217083]
(100) Project
Output [3]: [shardId#10214802, orderProposal#10217190, CASE WHEN (size(orderProposal#10217190.parentItems, true) > 2000) THEN xxhash64(orderProposal#10217190.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#10217190.orderProposalId as decimal(20,0)), 60), 42) END AS resultSeparationId#10218942L]
Input [2]: [orderProposal#10217190, shardId#10214802]
(101) ObjectHashAggregate
Input [3]: [shardId#10214802, orderProposal#10217190, resultSeparationId#10218942L]
Keys [2]: [shardId#10214802, resultSeparationId#10218942L]
Functions [1]: [partial_collect_list(orderProposal#10217190, 0, 0)]
Aggregate Attributes [1]: [buf#10218981]
Results [3]: [shardId#10214802, resultSeparationId#10218942L, buf#10218982]
(102) Exchange
Input [3]: [shardId#10214802, resultSeparationId#10218942L, buf#10218982]
Arguments: hashpartitioning(shardId#10214802, resultSeparationId#10218942L, 30), ENSURE_REQUIREMENTS, [plan_id=3021000]
(103) ObjectHashAggregate
Input [3]: [shardId#10214802, resultSeparationId#10218942L, buf#10218982]
Keys [2]: [shardId#10214802, resultSeparationId#10218942L]
Functions [1]: [collect_list(orderProposal#10217190, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#10217190, 0, 0)#10218950]
Results [3]: [shardId#10214802, resultSeparationId#10218942L, collect_list(orderProposal#10217190, 0, 0)#10218950 AS orderProposals#10218946]
(104) HashAggregate [codegen id : 1]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#10219059L]
Results [1]: [count#10219060L]
(105) Exchange
Input [1]: [count#10219060L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=3021024]
(106) HashAggregate [codegen id : 2]
Input [1]: [count#10219060L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#10219013L]
Results [1]: [count(1)#10219013L AS count#10219009L]