== Physical Plan ==
CollectLimit (101)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- Project (100)
+- Exchange (99)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- ObjectHashAggregate (98)
+- Exchange (97)
+- ObjectHashAggregate (96)
+- Project (95)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- Project (94)
+- BroadcastHashJoin LeftOuter BuildRight (93)
:- 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 (7)
: +- InMemoryRelation (8)
: +- * Project (54)
: +- * SortMergeJoin LeftOuter (53)
: :- * Project (45)
: : +- * SortMergeJoin LeftOuter (44)
: : :- * Project (36)
: : : +- * SortMergeJoin LeftOuter (35)
: : : :- * Sort (29)
: : : : +- Exchange (28)
: : : : +- * Project (27)
: : : : +- * BroadcastHashJoin LeftOuter BuildRight (26)
: : : : :- * Project (18)
: : : : : +- * Generate (17)
: : : : : +- * Filter (16)
: : : : : +- InMemoryTableScan (9)
: : : : : +- InMemoryRelation (10)
: : : : : +- * Filter (15)
: : : : : +- InMemoryTableScan (11)
: : : : : +- InMemoryRelation (12)
: : : : : +- * Filter (14)
: : : : : +- * Scan ExistingRDD (13)
: : : : +- BroadcastExchange (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)
+- BroadcastExchange (92)
+- Project (91)
+- * BroadcastHashJoin Inner BuildLeft (90)
:- BroadcastExchange (71)
: +- * Filter (70)
: +- InMemoryTableScan (68)
: +- InMemoryRelation (69)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * HashAggregate (89)
+- Exchange (88)
+- * HashAggregate (87)
+- * Project (86)
+- * BroadcastHashJoin Inner BuildLeft (85)
:- BroadcastExchange (78)
: +- * Project (77)
: +- * Generate (76)
: +- * Project (75)
: +- * Filter (74)
: +- InMemoryTableScan (72)
: +- InMemoryRelation (73)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * Project (84)
+- Exchange (83)
+- * Project (82)
+- * Filter (81)
+- * ColumnarToRow (80)
+- Scan parquet (79)
(1) InMemoryTableScan
Output: []
(2) InMemoryRelation
Arguments: [shardId#847553, orderProposals#851631], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#847553, resultSeparationId#851627L, orderProposals#851631]
Arguments: [shardId#847553, resultSeparationId#851627L, orderProposals#851631]
(4) InMemoryRelation
Arguments: [shardId#847553, resultSeparationId#851627L, orderProposals#851631], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#849891, shardId#847553]
Arguments: [orderProposal#849891, shardId#847553]
(6) InMemoryRelation
Arguments: [shardId#847553, orderProposal#849891], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#848243, channelStreamSpecificKpis#848984, constraintLabels#848255, constraintOperators#848256, constraintValues#848258, deliveryDateTime#848242, isFallbackOrderOnly#848245, logisticUnits#848260, measurements#848253, minimumOrderQuantity#848254, netPriceAmount#848251, netPriceCurrencyCode#848252, netPriceQuantity#848248, netPriceQuantityUom#848249, netPriceQuantityUomUuid#848250, nextAvailabilityDateTime#848244, optimizationGroups#848261, orderDateTime#848241, orderProposalId#848223L, orderProposalItemGroupId#848225, orderProposalItemId#848224, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, originalReplenishmentRunId#848226L, plant#848237, previousOrderProposal#848229L, prodLocSpecificKpis#848969, product#848236, productGroup#848265, qty#848067, quantityAfterProdPlantOptimization#848066, quantityKpis#848997, shardId#847553, sourceOfSupplyUuid#848232, splitIndicator#848228L, subrange#848235, supplier#848234, supplierGroup#848233, supplyingPlant#848264]
Arguments: [availabilityDateTime#848243, channelStreamSpecificKpis#848984, constraintLabels#848255, constraintOperators#848256, constraintValues#848258, deliveryDateTime#848242, isFallbackOrderOnly#848245, logisticUnits#848260, measurements#848253, minimumOrderQuantity#848254, netPriceAmount#848251, netPriceCurrencyCode#848252, netPriceQuantity#848248, netPriceQuantityUom#848249, netPriceQuantityUomUuid#848250, nextAvailabilityDateTime#848244, optimizationGroups#848261, orderDateTime#848241, orderProposalId#848223L, orderProposalItemGroupId#848225, orderProposalItemId#848224, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, originalReplenishmentRunId#848226L, plant#848237, ... 14 more fields], [NOT (isFallbackOrderOnly#848245 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848223L, originalReplenishmentRunId#848226L, supplierGroup#848233, supplier#848234, supplyingPlant#848264, productGroup#848265, product#848236, plant#848237, subrange#848235, orderDateTime#848241, deliveryDateTime#848242, availabilityDateTime#848243, nextAvailabilityDateTime#848244, constraintValues#848258, constraintOperators#848256, constraintLabels#848255, logisticUnits#848260, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, splitIndicator#848228L, netPriceAmount#848251, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#847553, items#847555]
Arguments: [shardId#847553, items#847555], [(size(items#847555, true) > 0), isnotnull(items#847555)]
(10) InMemoryRelation
Arguments: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, optimizationInsights#847559], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, optimizationInsights#847559]
Arguments: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, optimizationInsights#847559], [isnotnull(shardId#847553), (shardId#847553 = 0_1_10000002109)]
(12) InMemoryRelation
Arguments: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, lastModified#847558, optimizationInsights#847559], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, lastModified#847558, optimizationInsights#847559]
Arguments: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, lastModified#847558, optimizationInsights#847559], MapPartitionsRDD[39846] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, lastModified#847558, optimizationInsights#847559]
Condition : (isnotnull(shardId#847553) AND (shardId#847553 = 0_1_10000002109))
(15) Filter [codegen id : 1]
Input [6]: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, optimizationInsights#847559]
Condition : (isnotnull(shardId#847553) AND (shardId#847553 = 0_1_10000002109))
(16) Filter [codegen id : 3]
Input [2]: [shardId#847553, items#847555]
Condition : ((size(items#847555, true) > 0) AND isnotnull(items#847555))
(17) Generate [codegen id : 3]
Input [2]: [shardId#847553, items#847555]
Arguments: explode(items#847555), [shardId#847553], false, [item#848064]
(18) Project [codegen id : 3]
Output [4]: [shardId#847553, item#848064.worklistShardItemId AS worklistShardItemId#848065L, item#848064.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#848066, item#848064.qty AS qty#848067]
Input [2]: [shardId#847553, item#848064]
(19) Scan parquet
Output [38]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309, shardId#848310, sequenceId#848288]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000002109]
PartitionFilters: [isnotnull(shardId#848310), isnotnull(sequenceId#848288), (shardId#848310 = 0_1_10000002109), (sequenceId#848288 = 0)]
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 : 1]
Input [38]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309, shardId#848310, sequenceId#848288]
(21) Filter [codegen id : 1]
Input [38]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309, shardId#848310, sequenceId#848288]
Condition : isnotnull(worklistShardItemId#848289L)
(22) Project [codegen id : 1]
Output [36]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309]
Input [38]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309, shardId#848310, sequenceId#848288]
(23) Exchange
Input [36]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309]
Arguments: hashpartitioning(worklistShardItemId#848289L, 20), REPARTITION_BY_NUM, [plan_id=336116]
(24) Project [codegen id : 2]
Output [36]: [worklistShardItemId#848289L, orderProposalId#848266L, orderProposalItemId#848267, orderProposalItemGroupId#848290, originalReplenishmentRunId#848308L, splitIndicator#848285L, previousOrderProposal#848286L, sourceOfSupplyUuid#848280, supplierGroup#848268, supplier#848269, subrange#848272, product#848275, plant#848270, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, isFallbackOrderOnly#848283, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, netPriceAmount#848302, netPriceCurrencyCode#848303, measurements#848307, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, logisticUnits#848293, optimizationGroups#848309, externalProductId#848291, externalPlantId#848292, supplyingPlant#848273, productGroup#848274]
Input [36]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309]
(25) BroadcastExchange
Input [36]: [worklistShardItemId#848289L, orderProposalId#848266L, orderProposalItemId#848267, orderProposalItemGroupId#848290, originalReplenishmentRunId#848308L, splitIndicator#848285L, previousOrderProposal#848286L, sourceOfSupplyUuid#848280, supplierGroup#848268, supplier#848269, subrange#848272, product#848275, plant#848270, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, isFallbackOrderOnly#848283, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, netPriceAmount#848302, netPriceCurrencyCode#848303, measurements#848307, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, logisticUnits#848293, optimizationGroups#848309, externalProductId#848291, externalPlantId#848292, supplyingPlant#848273, productGroup#848274]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=336120]
(26) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#848065L]
Right keys [1]: [worklistShardItemId#848289L]
Join type: LeftOuter
Join condition: (shardId#847553 = 0_1_10000002109)
(27) Project [codegen id : 3]
Output [39]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283]
Input [40]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, worklistShardItemId#848289L, orderProposalId#848266L, orderProposalItemId#848267, orderProposalItemGroupId#848290, originalReplenishmentRunId#848308L, splitIndicator#848285L, previousOrderProposal#848286L, sourceOfSupplyUuid#848280, supplierGroup#848268, supplier#848269, subrange#848272, product#848275, plant#848270, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, isFallbackOrderOnly#848283, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, netPriceAmount#848302, netPriceCurrencyCode#848303, measurements#848307, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, logisticUnits#848293, optimizationGroups#848309, externalProductId#848291, externalPlantId#848292, supplyingPlant#848273, productGroup#848274]
(28) Exchange
Input [39]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283]
Arguments: hashpartitioning(shardId#847553, worklistShardItemId#848065L, 20), ENSURE_REQUIREMENTS, [plan_id=336125]
(29) Sort [codegen id : 4]
Input [39]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283]
Arguments: [shardId#847553 ASC NULLS FIRST, worklistShardItemId#848065L ASC NULLS FIRST], false, 0
(30) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#848962, worklistShardItemId#848963L, qty#848964, demandChannel#848965, demandStream#848966, kpis#848967]
Arguments: [shardId#848962, worklistShardItemId#848963L, qty#848964, demandChannel#848965, demandStream#848966, kpis#848967], MapPartitionsRDD[39920] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(31) Filter [codegen id : 5]
Input [6]: [shardId#848962, worklistShardItemId#848963L, qty#848964, demandChannel#848965, demandStream#848966, kpis#848967]
Condition : (((isnull(qty#848964) AND isnull(demandChannel#848965)) AND isnull(demandStream#848966)) AND (isnotnull(shardId#848962) AND isnotnull(worklistShardItemId#848963L)))
(32) Project [codegen id : 5]
Output [3]: [shardId#848962, worklistShardItemId#848963L, coalesce(kpis#848967, []) AS prodLocSpecificKpis#848968]
Input [6]: [shardId#848962, worklistShardItemId#848963L, qty#848964, demandChannel#848965, demandStream#848966, kpis#848967]
(33) Exchange
Input [3]: [shardId#848962, worklistShardItemId#848963L, prodLocSpecificKpis#848968]
Arguments: hashpartitioning(shardId#848962, worklistShardItemId#848963L, 20), ENSURE_REQUIREMENTS, [plan_id=336131]
(34) Sort [codegen id : 6]
Input [3]: [shardId#848962, worklistShardItemId#848963L, prodLocSpecificKpis#848968]
Arguments: [shardId#848962 ASC NULLS FIRST, worklistShardItemId#848963L ASC NULLS FIRST], false, 0
(35) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#847553, worklistShardItemId#848065L]
Right keys [2]: [shardId#848962, worklistShardItemId#848963L]
Join type: LeftOuter
Join condition: None
(36) Project [codegen id : 7]
Output [40]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, coalesce(prodLocSpecificKpis#848968, []) AS prodLocSpecificKpis#848969]
Input [42]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, shardId#848962, worklistShardItemId#848963L, prodLocSpecificKpis#848968]
(37) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#848978, worklistShardItemId#848979L, qty#848980, demandChannel#848981, demandStream#848982, kpis#848983]
Arguments: [shardId#848978, worklistShardItemId#848979L, qty#848980, demandChannel#848981, demandStream#848982, kpis#848983], MapPartitionsRDD[39920] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(38) Filter [codegen id : 8]
Input [6]: [shardId#848978, worklistShardItemId#848979L, qty#848980, demandChannel#848981, demandStream#848982, kpis#848983]
Condition : ((((isnull(qty#848980) AND isnotnull(demandChannel#848981)) AND isnotnull(demandStream#848982)) AND (size(kpis#848983, true) > 0)) AND (isnotnull(shardId#848978) AND isnotnull(worklistShardItemId#848979L)))
(39) Project [codegen id : 8]
Output [5]: [shardId#848978, worklistShardItemId#848979L, demandChannel#848981, demandStream#848982, kpis#848983]
Input [6]: [shardId#848978, worklistShardItemId#848979L, qty#848980, demandChannel#848981, demandStream#848982, kpis#848983]
(40) ObjectHashAggregate
Input [5]: [shardId#848978, worklistShardItemId#848979L, demandChannel#848981, demandStream#848982, kpis#848983]
Keys [2]: [shardId#848978, worklistShardItemId#848979L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#848981, demandStream, demandStream#848982, kpis, kpis#848983), 0, 0)]
Aggregate Attributes [1]: [buf#849158]
Results [3]: [shardId#848978, worklistShardItemId#848979L, buf#849159]
(41) Exchange
Input [3]: [shardId#848978, worklistShardItemId#848979L, buf#849159]
Arguments: hashpartitioning(shardId#848978, worklistShardItemId#848979L, 20), ENSURE_REQUIREMENTS, [plan_id=336142]
(42) ObjectHashAggregate
Input [3]: [shardId#848978, worklistShardItemId#848979L, buf#849159]
Keys [2]: [shardId#848978, worklistShardItemId#848979L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#848981, demandStream, demandStream#848982, kpis, kpis#848983), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#848981, demandStream, demandStream#848982, kpis, kpis#848983), 0, 0)#848977]
Results [3]: [shardId#848978, worklistShardItemId#848979L, collect_list(struct(demandChannel, demandChannel#848981, demandStream, demandStream#848982, kpis, kpis#848983), 0, 0)#848977 AS channelStreamSpecificKpis#848970]
(43) Sort [codegen id : 9]
Input [3]: [shardId#848978, worklistShardItemId#848979L, channelStreamSpecificKpis#848970]
Arguments: [shardId#848978 ASC NULLS FIRST, worklistShardItemId#848979L ASC NULLS FIRST], false, 0
(44) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#847553, worklistShardItemId#848065L]
Right keys [2]: [shardId#848978, worklistShardItemId#848979L]
Join type: LeftOuter
Join condition: None
(45) Project [codegen id : 10]
Output [41]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, prodLocSpecificKpis#848969, coalesce(channelStreamSpecificKpis#848970, []) AS channelStreamSpecificKpis#848984]
Input [43]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, prodLocSpecificKpis#848969, shardId#848978, worklistShardItemId#848979L, channelStreamSpecificKpis#848970]
(46) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#848991, worklistShardItemId#848992L, qty#848993, demandChannel#848994, demandStream#848995, kpis#848996]
Arguments: [shardId#848991, worklistShardItemId#848992L, qty#848993, demandChannel#848994, demandStream#848995, kpis#848996], MapPartitionsRDD[39920] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(47) Filter [codegen id : 11]
Input [6]: [shardId#848991, worklistShardItemId#848992L, qty#848993, demandChannel#848994, demandStream#848995, kpis#848996]
Condition : ((isnotnull(qty#848993) AND isnotnull(kpis#848996)) AND (isnotnull(shardId#848991) AND isnotnull(worklistShardItemId#848992L)))
(48) Project [codegen id : 11]
Output [4]: [shardId#848991, worklistShardItemId#848992L, qty#848993, kpis#848996]
Input [6]: [shardId#848991, worklistShardItemId#848992L, qty#848993, demandChannel#848994, demandStream#848995, kpis#848996]
(49) ObjectHashAggregate
Input [4]: [shardId#848991, worklistShardItemId#848992L, qty#848993, kpis#848996]
Keys [2]: [shardId#848991, worklistShardItemId#848992L]
Functions [1]: [partial_collect_list(struct(qty, qty#848993, kpis, kpis#848996), 0, 0)]
Aggregate Attributes [1]: [buf#849160]
Results [3]: [shardId#848991, worklistShardItemId#848992L, buf#849161]
(50) Exchange
Input [3]: [shardId#848991, worklistShardItemId#848992L, buf#849161]
Arguments: hashpartitioning(shardId#848991, worklistShardItemId#848992L, 20), ENSURE_REQUIREMENTS, [plan_id=336154]
(51) ObjectHashAggregate
Input [3]: [shardId#848991, worklistShardItemId#848992L, buf#849161]
Keys [2]: [shardId#848991, worklistShardItemId#848992L]
Functions [1]: [collect_list(struct(qty, qty#848993, kpis, kpis#848996), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#848993, kpis, kpis#848996), 0, 0)#848990]
Results [3]: [shardId#848991, worklistShardItemId#848992L, map_from_entries(collect_list(struct(qty, qty#848993, kpis, kpis#848996), 0, 0)#848990) AS quantityKpis#848985]
(52) Sort [codegen id : 12]
Input [3]: [shardId#848991, worklistShardItemId#848992L, quantityKpis#848985]
Arguments: [shardId#848991 ASC NULLS FIRST, worklistShardItemId#848992L ASC NULLS FIRST], false, 0
(53) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#847553, worklistShardItemId#848065L]
Right keys [2]: [shardId#848991, worklistShardItemId#848992L]
Join type: LeftOuter
Join condition: None
(54) Project [codegen id : 13]
Output [42]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, prodLocSpecificKpis#848969, channelStreamSpecificKpis#848984, coalesce(quantityKpis#848985, map(keys: [], values: [])) AS quantityKpis#848997]
Input [44]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, prodLocSpecificKpis#848969, channelStreamSpecificKpis#848984, shardId#848991, worklistShardItemId#848992L, quantityKpis#848985]
(55) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#848243, channelStreamSpecificKpis#848984, constraintLabels#848255, constraintOperators#848256, constraintValues#848258, deliveryDateTime#848242, isFallbackOrderOnly#848245, logisticUnits#848260, measurements#848253, minimumOrderQuantity#848254, netPriceAmount#848251, netPriceCurrencyCode#848252, netPriceQuantity#848248, netPriceQuantityUom#848249, netPriceQuantityUomUuid#848250, nextAvailabilityDateTime#848244, optimizationGroups#848261, orderDateTime#848241, orderProposalId#848223L, orderProposalItemGroupId#848225, orderProposalItemId#848224, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, originalReplenishmentRunId#848226L, plant#848237, previousOrderProposal#848229L, prodLocSpecificKpis#848969, product#848236, productGroup#848265, qty#848067, quantityAfterProdPlantOptimization#848066, quantityKpis#848997, shardId#847553, sourceOfSupplyUuid#848232, splitIndicator#848228L, subrange#848235, supplier#848234, supplierGroup#848233, supplyingPlant#848264]
Condition : NOT (isFallbackOrderOnly#848245 <=> true)
(56) Project [codegen id : 1]
Output [36]: [shardId#847553, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848223L, originalReplenishmentRunId#848226L, supplierGroup#848233, supplier#848234, supplyingPlant#848264, productGroup#848265, product#848236, plant#848237, subrange#848235, orderDateTime#848241, deliveryDateTime#848242, availabilityDateTime#848243, nextAvailabilityDateTime#848244, logisticUnits#848260, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, splitIndicator#848228L, netPriceAmount#848251, netPriceCurrencyCode#848252, netPriceQuantity#848248, netPriceQuantityUom#848249, netPriceQuantityUomUuid#848250, sourceOfSupplyUuid#848232, minimumOrderQuantity#848254, orderProposalItemId#848224, orderProposalItemGroupId#848225, optimizationGroups#848261, measurements#848253, previousOrderProposal#848229L, prodLocSpecificKpis#848969, channelStreamSpecificKpis#848984, quantityKpis#848997, arrays_zip(constraintLabels#848255, constraintOperators#848256, constraintValues#848258, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#849411]
Input [39]: [availabilityDateTime#848243, channelStreamSpecificKpis#848984, constraintLabels#848255, constraintOperators#848256, constraintValues#848258, deliveryDateTime#848242, isFallbackOrderOnly#848245, logisticUnits#848260, measurements#848253, minimumOrderQuantity#848254, netPriceAmount#848251, netPriceCurrencyCode#848252, netPriceQuantity#848248, netPriceQuantityUom#848249, netPriceQuantityUomUuid#848250, nextAvailabilityDateTime#848244, optimizationGroups#848261, orderDateTime#848241, orderProposalId#848223L, orderProposalItemGroupId#848225, orderProposalItemId#848224, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, originalReplenishmentRunId#848226L, plant#848237, previousOrderProposal#848229L, prodLocSpecificKpis#848969, product#848236, productGroup#848265, qty#848067, quantityAfterProdPlantOptimization#848066, quantityKpis#848997, shardId#847553, sourceOfSupplyUuid#848232, splitIndicator#848228L, subrange#848235, supplier#848234, supplierGroup#848233, supplyingPlant#848264]
(57) Project
Output [37]: [shardId#847553, qty#848067, orderProposalId#848223L, originalReplenishmentRunId#848226L, supplierGroup#848233, supplier#848234, supplyingPlant#848264, productGroup#848265, product#848236, plant#848237, subrange#848235, orderDateTime#848241, deliveryDateTime#848242, availabilityDateTime#848243, nextAvailabilityDateTime#848244, logisticUnits#848260, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, splitIndicator#848228L, netPriceAmount#848251, netPriceCurrencyCode#848252, netPriceQuantity#848248, netPriceQuantityUom#848249, netPriceQuantityUomUuid#848250, sourceOfSupplyUuid#848232, orderProposalItemId#848224, orderProposalItemGroupId#848225, optimizationGroups#848261, measurements#848253, previousOrderProposal#848229L, prodLocSpecificKpis#848969, channelStreamSpecificKpis#848984, quantityKpis#848997, struct(minServiceLevel, array_min(filter(constraintStructArray#849411, lambdafunction((lambda x_2175#849418.constraintLabels = ServiceLevel), lambda x_2175#849418, false)).constraintValues), minServiceLevelMinStock, null, maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#849411, lambdafunction((lambda x_2176#849419.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_2176#849419, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#849411, lambdafunction((lambda x_2177#849420.constraintLabels = RangeOfCoverage), lambda x_2177#849420, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#848254, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#848969, lambdafunction((lambda x_2178#849421.label = NonListingStartTimestamp), lambda x_2178#849421, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#849417, CASE WHEN (qty#848067 <=> quantityAfterProdPlantOptimization#848066) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#848067 * (cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2179#849489.isOrderUnit, lambda x_2179#849489, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2179#849490.isOrderUnit, lambda x_2179#849490, false)), 1, None, false).numerator as double))), qty#848067), orderQuantityUom, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2179#849491.isOrderUnit, lambda x_2179#849491, false)), 1, None, false).uom, orderQuantityBaseUom#848246), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2179#849492.isOrderUnit, lambda x_2179#849492, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#848247), candidateOrderQuantityInBaseUnit, qty#848067, orderQuantityBaseUom, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#848247, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#848260, lambdafunction((lambda x_2181#849493.isPreferred AND (((qty#848067 * cast(lambda x_2181#849493.denominator as double)) % cast(lambda x_2181#849493.numerator as double)) = 0.0)), lambda x_2181#849493, false)), lambdafunction(struct(inPreferredQuantity, ((qty#848067 * cast(lambda x_2182#849531.denominator as double)) / cast(lambda x_2182#849531.numerator as double)), uom, lambda x_2182#849531.uom, uomUuid, lambda x_2182#849531.uomUuid), lambda x_2182#849531, false))).inPreferredQuantity, coalesce((qty#848067 * (cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2180#849494.isOrderUnit, lambda x_2180#849494, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2180#849495.isOrderUnit, lambda x_2180#849495, false)), 1, None, false).numerator as double))), qty#848067)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#848260, lambdafunction((lambda x_2181#849496.isPreferred AND (((qty#848067 * cast(lambda x_2181#849496.denominator as double)) % cast(lambda x_2181#849496.numerator as double)) = 0.0)), lambda x_2181#849496, false)), lambdafunction(struct(inPreferredQuantity, ((qty#848067 * cast(lambda x_2182#849532.denominator as double)) / cast(lambda x_2182#849532.numerator as double)), uom, lambda x_2182#849532.uom, uomUuid, lambda x_2182#849532.uomUuid), lambda x_2182#849532, false))).uom, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2180#849497.isOrderUnit, lambda x_2180#849497, false)), 1, None, false).uom, orderQuantityBaseUom#848246)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#848260, lambdafunction((lambda x_2181#849498.isPreferred AND (((qty#848067 * cast(lambda x_2181#849498.denominator as double)) % cast(lambda x_2181#849498.numerator as double)) = 0.0)), lambda x_2181#849498, false)), lambdafunction(struct(inPreferredQuantity, ((qty#848067 * cast(lambda x_2182#849533.denominator as double)) / cast(lambda x_2182#849533.numerator as double)), uom, lambda x_2182#849533.uom, uomUuid, lambda x_2182#849533.uomUuid), lambda x_2182#849533, false))).uomUuid, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2180#849499.isOrderUnit, lambda x_2180#849499, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#848247)), serviceLevel, coalesce(filter(element_at(quantityKpis#848997, qty#848067, None, false), lambdafunction((lambda x_2187#849500.label = ServiceLevel), lambda x_2187#849500, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#848067 * (cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2179#849503.isOrderUnit, lambda x_2179#849503, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2179#849504.isOrderUnit, lambda x_2179#849504, false)), 1, None, false).numerator as double))), qty#848067), orderQuantityUom, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2179#849505.isOrderUnit, lambda x_2179#849505, false)), 1, None, false).uom, orderQuantityBaseUom#848246), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2179#849506.isOrderUnit, lambda x_2179#849506, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#848247), candidateOrderQuantityInBaseUnit, qty#848067, orderQuantityBaseUom, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#848247, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#848260, lambdafunction((lambda x_2181#849507.isPreferred AND (((qty#848067 * cast(lambda x_2181#849507.denominator as double)) % cast(lambda x_2181#849507.numerator as double)) = 0.0)), lambda x_2181#849507, false)), lambdafunction(struct(inPreferredQuantity, ((qty#848067 * cast(lambda x_2182#849534.denominator as double)) / cast(lambda x_2182#849534.numerator as double)), uom, lambda x_2182#849534.uom, uomUuid, lambda x_2182#849534.uomUuid), lambda x_2182#849534, false))).inPreferredQuantity, coalesce((qty#848067 * (cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2180#849508.isOrderUnit, lambda x_2180#849508, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2180#849509.isOrderUnit, lambda x_2180#849509, false)), 1, None, false).numerator as double))), qty#848067)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#848260, lambdafunction((lambda x_2181#849510.isPreferred AND (((qty#848067 * cast(lambda x_2181#849510.denominator as double)) % cast(lambda x_2181#849510.numerator as double)) = 0.0)), lambda x_2181#849510, false)), lambdafunction(struct(inPreferredQuantity, ((qty#848067 * cast(lambda x_2182#849535.denominator as double)) / cast(lambda x_2182#849535.numerator as double)), uom, lambda x_2182#849535.uom, uomUuid, lambda x_2182#849535.uomUuid), lambda x_2182#849535, false))).uom, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2180#849511.isOrderUnit, lambda x_2180#849511, false)), 1, None, false).uom, orderQuantityBaseUom#848246)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#848260, lambdafunction((lambda x_2181#849512.isPreferred AND (((qty#848067 * cast(lambda x_2181#849512.denominator as double)) % cast(lambda x_2181#849512.numerator as double)) = 0.0)), lambda x_2181#849512, false)), lambdafunction(struct(inPreferredQuantity, ((qty#848067 * cast(lambda x_2182#849536.denominator as double)) / cast(lambda x_2182#849536.numerator as double)), uom, lambda x_2182#849536.uom, uomUuid, lambda x_2182#849536.uomUuid), lambda x_2182#849536, false))).uomUuid, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2180#849513.isOrderUnit, lambda x_2180#849513, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#848247)), serviceLevel, coalesce(filter(element_at(quantityKpis#848997, qty#848067, None, false), lambdafunction((lambda x_2190#849514.label = ServiceLevel), lambda x_2190#849514, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#848066 * (cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2183#849517.isOrderUnit, lambda x_2183#849517, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2183#849518.isOrderUnit, lambda x_2183#849518, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#848066), orderQuantityUom, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2183#849519.isOrderUnit, lambda x_2183#849519, false)), 1, None, false).uom, orderQuantityBaseUom#848246), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2183#849520.isOrderUnit, lambda x_2183#849520, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#848247), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#848066, orderQuantityBaseUom, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#848247, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#848260, lambdafunction((lambda x_2185#849521.isPreferred AND (((quantityAfterProdPlantOptimization#848066 * cast(lambda x_2185#849521.denominator as double)) % cast(lambda x_2185#849521.numerator as double)) = 0.0)), lambda x_2185#849521, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#848066 * cast(lambda x_2186#849537.denominator as double)) / cast(lambda x_2186#849537.numerator as double)), uom, lambda x_2186#849537.uom, uomUuid, lambda x_2186#849537.uomUuid), lambda x_2186#849537, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#848066 * (cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2184#849522.isOrderUnit, lambda x_2184#849522, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2184#849523.isOrderUnit, lambda x_2184#849523, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#848066)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#848260, lambdafunction((lambda x_2185#849524.isPreferred AND (((quantityAfterProdPlantOptimization#848066 * cast(lambda x_2185#849524.denominator as double)) % cast(lambda x_2185#849524.numerator as double)) = 0.0)), lambda x_2185#849524, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#848066 * cast(lambda x_2186#849538.denominator as double)) / cast(lambda x_2186#849538.numerator as double)), uom, lambda x_2186#849538.uom, uomUuid, lambda x_2186#849538.uomUuid), lambda x_2186#849538, false))).uom, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2184#849525.isOrderUnit, lambda x_2184#849525, false)), 1, None, false).uom, orderQuantityBaseUom#848246)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#848260, lambdafunction((lambda x_2185#849526.isPreferred AND (((quantityAfterProdPlantOptimization#848066 * cast(lambda x_2185#849526.denominator as double)) % cast(lambda x_2185#849526.numerator as double)) = 0.0)), lambda x_2185#849526, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#848066 * cast(lambda x_2186#849539.denominator as double)) / cast(lambda x_2186#849539.numerator as double)), uom, lambda x_2186#849539.uom, uomUuid, lambda x_2186#849539.uomUuid), lambda x_2186#849539, false))).uomUuid, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2184#849527.isOrderUnit, lambda x_2184#849527, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#848247)), serviceLevel, coalesce(filter(element_at(quantityKpis#848997, quantityAfterProdPlantOptimization#848066, None, false), lambdafunction((lambda x_2193#849528.label = ServiceLevel), lambda x_2193#849528, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#849488, coalesce(filter(prodLocSpecificKpis#848969, lambdafunction((lambda x_2196#849541.label = InitialStockQty), lambda x_2196#849541, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#849540, coalesce(filter(prodLocSpecificKpis#848969, lambdafunction((lambda x_2197#849543.label = DemandPeriodEndTimestamp), lambda x_2197#849543, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#849542]
Input [36]: [shardId#847553, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848223L, originalReplenishmentRunId#848226L, supplierGroup#848233, supplier#848234, supplyingPlant#848264, productGroup#848265, product#848236, plant#848237, subrange#848235, orderDateTime#848241, deliveryDateTime#848242, availabilityDateTime#848243, nextAvailabilityDateTime#848244, logisticUnits#848260, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, splitIndicator#848228L, netPriceAmount#848251, netPriceCurrencyCode#848252, netPriceQuantity#848248, netPriceQuantityUom#848249, netPriceQuantityUomUuid#848250, sourceOfSupplyUuid#848232, minimumOrderQuantity#848254, orderProposalItemId#848224, orderProposalItemGroupId#848225, optimizationGroups#848261, measurements#848253, previousOrderProposal#848229L, prodLocSpecificKpis#848969, channelStreamSpecificKpis#848984, quantityKpis#848997, constraintStructArray#849411]
(58) Project
Output [21]: [shardId#847553, qty#848067, orderProposalId#848223L, originalReplenishmentRunId#848226L, supplierGroup#848233, supplier#848234, supplyingPlant#848264, productGroup#848265, product#848236, plant#848237, subrange#848235, orderDateTime#848241, deliveryDateTime#848242, logisticUnits#848260, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, splitIndicator#848228L, orderProposalItemId#848224, orderProposalItemGroupId#848225, previousOrderProposal#848229L, struct(itemId, 123456, itemGroupId, 123456, supplier, supplier#848234, supplyingPlant, supplyingPlant#848264, productGroup, productGroup#848265, product, product#848236, plant, plant#848237, supplierSubRange, subrange#848235, sourceOfSupplyUuid, sourceOfSupplyUuid#848232, deliveryDateTime, deliveryDateTime#848242, unitPrice, netPriceAmount#848251, unitPriceCurrency, netPriceCurrencyCode#848252, unitPriceQuantity, ... 37 more fields) AS parentItem#849622]
Input [37]: [shardId#847553, qty#848067, orderProposalId#848223L, originalReplenishmentRunId#848226L, supplierGroup#848233, supplier#848234, supplyingPlant#848264, productGroup#848265, product#848236, plant#848237, subrange#848235, orderDateTime#848241, deliveryDateTime#848242, availabilityDateTime#848243, nextAvailabilityDateTime#848244, logisticUnits#848260, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, splitIndicator#848228L, netPriceAmount#848251, netPriceCurrencyCode#848252, netPriceQuantity#848248, netPriceQuantityUom#848249, netPriceQuantityUomUuid#848250, sourceOfSupplyUuid#848232, orderProposalItemId#848224, orderProposalItemGroupId#848225, optimizationGroups#848261, measurements#848253, previousOrderProposal#848229L, prodLocSpecificKpis#848969, channelStreamSpecificKpis#848984, quantityKpis#848997, constraintBenchmark#849417, calculationAnalysis#849488, inventoryDateTime#849540, demandPeriodEndDateTime#849542]
(59) Project
Output [12]: [shardId#847553, orderProposalId#848223L, originalReplenishmentRunId#848226L, supplierGroup#848233, supplier#848234, supplyingPlant#848264, orderDateTime#848241, splitIndicator#848228L, orderProposalItemGroupId#848225, previousOrderProposal#848229L, parentItem#849622, struct(itemId, orderProposalItemId#848224, supplier, supplier#848234, supplyingPlant, supplyingPlant#848264, productGroup, productGroup#848265, product, product#848236, plant, plant#848237, supplierSubRange, subrange#848235, deliveryDateTime, deliveryDateTime#848242, orderQuantity, coalesce((qty#848067 * (cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2221#849656.isOrderUnit, lambda x_2221#849656, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2221#849657.isOrderUnit, lambda x_2221#849657, false)), 1, None, false).numerator as double))), qty#848067), orderQuantityUom, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2221#849658.isOrderUnit, lambda x_2221#849658, false)), 1, None, false).uom, orderQuantityBaseUom#848246), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#848260, lambdafunction(lambda x_2221#849659.isOrderUnit, lambda x_2221#849659, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#848247), orderQuantityInBaseUnit, qty#848067, orderQuantityBaseUom, ... 13 more fields) AS item#849653]
Input [21]: [shardId#847553, qty#848067, orderProposalId#848223L, originalReplenishmentRunId#848226L, supplierGroup#848233, supplier#848234, supplyingPlant#848264, productGroup#848265, product#848236, plant#848237, subrange#848235, orderDateTime#848241, deliveryDateTime#848242, logisticUnits#848260, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, splitIndicator#848228L, orderProposalItemId#848224, orderProposalItemGroupId#848225, previousOrderProposal#848229L, parentItem#849622]
(60) ObjectHashAggregate
Input [12]: [shardId#847553, orderProposalId#848223L, originalReplenishmentRunId#848226L, supplierGroup#848233, supplier#848234, supplyingPlant#848264, orderDateTime#848241, splitIndicator#848228L, orderProposalItemGroupId#848225, previousOrderProposal#848229L, parentItem#849622, item#849653]
Keys [4]: [shardId#847553, orderProposalId#848223L, splitIndicator#848228L, orderProposalItemGroupId#848225]
Functions [8]: [partial_max(originalReplenishmentRunId#848226L), partial_max(supplierGroup#848233), partial_max(supplier#848234), partial_max(supplyingPlant#848264), partial_max(orderDateTime#848241), partial_collect_list(parentItem#849622, 0, 0), partial_collect_set(previousOrderProposal#848229L, 0, 0), partial_collect_list(item#849653, 0, 0)]
Aggregate Attributes [8]: [max#850914L, max#850915, max#850916, max#850917, max#850918, buf#850919, buf#850920, buf#850921]
Results [12]: [shardId#847553, orderProposalId#848223L, splitIndicator#848228L, orderProposalItemGroupId#848225, max#850922L, max#850923, max#850924, max#850925, max#850926, buf#850927, buf#850928, buf#850929]
(61) Exchange
Input [12]: [shardId#847553, orderProposalId#848223L, splitIndicator#848228L, orderProposalItemGroupId#848225, max#850922L, max#850923, max#850924, max#850925, max#850926, buf#850927, buf#850928, buf#850929]
Arguments: hashpartitioning(shardId#847553, orderProposalId#848223L, splitIndicator#848228L, orderProposalItemGroupId#848225, 20), ENSURE_REQUIREMENTS, [plan_id=336392]
(62) ObjectHashAggregate
Input [12]: [shardId#847553, orderProposalId#848223L, splitIndicator#848228L, orderProposalItemGroupId#848225, max#850922L, max#850923, max#850924, max#850925, max#850926, buf#850927, buf#850928, buf#850929]
Keys [4]: [shardId#847553, orderProposalId#848223L, splitIndicator#848228L, orderProposalItemGroupId#848225]
Functions [8]: [max(originalReplenishmentRunId#848226L), max(supplierGroup#848233), max(supplier#848234), max(supplyingPlant#848264), max(orderDateTime#848241), collect_list(parentItem#849622, 0, 0), collect_set(previousOrderProposal#848229L, 0, 0), collect_list(item#849653, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#848226L)#849722L, max(supplierGroup#848233)#849723, max(supplier#848234)#849724, max(supplyingPlant#848264)#849725, max(orderDateTime#848241)#849726, collect_list(parentItem#849622, 0, 0)#849727, collect_set(previousOrderProposal#848229L, 0, 0)#849729, collect_list(item#849653, 0, 0)#849728]
Results [10]: [shardId#847553, orderProposalId#848223L, max(originalReplenishmentRunId#848226L)#849722L AS originalReplenishmentRunId#849670L, max(supplierGroup#848233)#849723 AS supplierGroup#849671, max(supplier#848234)#849724 AS supplier#849672, max(supplyingPlant#848264)#849725 AS supplyingPlant#849673, max(orderDateTime#848241)#849726 AS orderDateTime#849674, collect_list(parentItem#849622, 0, 0)#849727 AS parentItems#849675, collect_set(previousOrderProposal#848229L, 0, 0)#849729 AS previousOrderProposals#849677, struct(itemGroupId, coalesce(orderProposalItemGroupId#848225, cast((monotonically_increasing_id() % 9999999999) as string)), items, collect_list(item#849653, 0, 0)#849728) AS itemGroup#849731]
(63) ObjectHashAggregate
Input [10]: [shardId#847553, orderProposalId#848223L, originalReplenishmentRunId#849670L, supplierGroup#849671, supplier#849672, supplyingPlant#849673, orderDateTime#849674, parentItems#849675, previousOrderProposals#849677, itemGroup#849731]
Keys [2]: [shardId#847553, orderProposalId#848223L]
Functions [8]: [partial_max(originalReplenishmentRunId#849670L), partial_max(supplierGroup#849671), partial_max(supplier#849672), partial_max(supplyingPlant#849673), partial_max(orderDateTime#849674), partial_collect_list(itemGroup#849731, 0, 0), partial_collect_list(parentItems#849675, 0, 0), partial_collect_set(previousOrderProposals#849677, 0, 0)]
Aggregate Attributes [8]: [max#850898L, max#850899, max#850900, max#850901, max#850902, buf#850903, buf#850904, buf#850905]
Results [10]: [shardId#847553, orderProposalId#848223L, max#850906L, max#850907, max#850908, max#850909, max#850910, buf#850911, buf#850912, buf#850913]
(64) Exchange
Input [10]: [shardId#847553, orderProposalId#848223L, max#850906L, max#850907, max#850908, max#850909, max#850910, buf#850911, buf#850912, buf#850913]
Arguments: hashpartitioning(shardId#847553, orderProposalId#848223L, 20), ENSURE_REQUIREMENTS, [plan_id=336395]
(65) ObjectHashAggregate
Input [10]: [shardId#847553, orderProposalId#848223L, max#850906L, max#850907, max#850908, max#850909, max#850910, buf#850911, buf#850912, buf#850913]
Keys [2]: [shardId#847553, orderProposalId#848223L]
Functions [8]: [max(originalReplenishmentRunId#849670L), max(supplierGroup#849671), max(supplier#849672), max(supplyingPlant#849673), max(orderDateTime#849674), collect_list(itemGroup#849731, 0, 0), collect_list(parentItems#849675, 0, 0), collect_set(previousOrderProposals#849677, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#849670L)#849753L, max(supplierGroup#849671)#849754, max(supplier#849672)#849755, max(supplyingPlant#849673)#849756, max(orderDateTime#849674)#849757, collect_list(itemGroup#849731, 0, 0)#849758, collect_list(parentItems#849675, 0, 0)#849759, collect_set(previousOrderProposals#849677, 0, 0)#849760]
Results [10]: [shardId#847553, orderProposalId#848223L, max(originalReplenishmentRunId#849670L)#849753L AS originalReplenishmentRunId#849732L, max(supplierGroup#849671)#849754 AS supplierGroup#849733, max(supplier#849672)#849755 AS supplier#849734, max(supplyingPlant#849673)#849756 AS supplyingPlant#849735, max(orderDateTime#849674)#849757 AS orderDateTime#849736, collect_list(itemGroup#849731, 0, 0)#849758 AS itemGroups#849737, flatten(collect_list(parentItems#849675, 0, 0)#849759) AS parentItems#849738, flatten(collect_set(previousOrderProposals#849677, 0, 0)#849760) AS previousOrderProposals#849739]
(66) Project
Output [2]: [shardId#847553, struct(orderProposalId, orderProposalId#848223L, originalReplenishmentRunId, originalReplenishmentRunId#849732L, supplierGroup, supplierGroup#849733, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#849733) THEN supplier#849734 END, supplyingPlant, supplyingPlant#849735, orderDateTime, orderDateTime#849736, itemGroups, itemGroups#849737, previousOrderProposals, array_distinct(previousOrderProposals#849739), parentItems, parentItems#849738) AS orderProposal#849764]
Input [10]: [shardId#847553, orderProposalId#848223L, originalReplenishmentRunId#849732L, supplierGroup#849733, supplier#849734, supplyingPlant#849735, orderDateTime#849736, itemGroups#849737, parentItems#849738, previousOrderProposals#849739]
(67) Project
Output [11]: [shardId#847553, orderProposal#849764.orderProposalId AS _extract_orderProposalId#850530L, orderProposal#849764.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#850531L, orderProposal#849764.supplierGroup AS _extract_supplierGroup#850532, orderProposal#849764.supplier AS _extract_supplier#850533, orderProposal#849764.supplyingPlant AS _extract_supplyingPlant#850534, orderProposal#849764.orderDateTime AS _extract_orderDateTime#850535, orderProposal#849764.itemGroups AS _extract_itemGroups#850536, orderProposal#849764.previousOrderProposals AS _extract_previousOrderProposals#850537, orderProposal#849764.parentItems AS _extract_parentItems#850538, orderProposal#849764.orderProposalId AS _extract_orderProposalId#850539L]
Input [2]: [shardId#847553, orderProposal#849764]
(68) InMemoryTableScan
Output [3]: [shardId#849787, orderProposalId#849788L, optimizationGroups#849790]
Arguments: [shardId#849787, orderProposalId#849788L, optimizationGroups#849790], [isnotnull(orderProposalId#849788L)]
(69) InMemoryRelation
Arguments: [shardId#849787, orderProposalId#849788L, items#849789, optimizationGroups#849790, isOptimal#849791, optimizationInsights#849793], StorageLevel(disk, memory, 2 replicas)
(70) Filter [codegen id : 2]
Input [3]: [shardId#849787, orderProposalId#849788L, optimizationGroups#849790]
Condition : isnotnull(orderProposalId#849788L)
(71) BroadcastExchange
Input [3]: [shardId#849787, orderProposalId#849788L, optimizationGroups#849790]
Arguments: HashedRelationBroadcastMode(List(input[1, bigint, false]),false), [plan_id=336402]
(72) InMemoryTableScan
Output [2]: [items#849406, shardId#849404]
Arguments: [items#849406, shardId#849404], [(size(items#849406.worklistShardItemId, true) > 0), isnotnull(items#849406.worklistShardItemId), (shardId#849404 = 0_1_10000002109)]
(73) InMemoryRelation
Arguments: [shardId#849404, orderProposalId#849405L, items#849406, optimizationGroups#849407, isOptimal#849408, optimizationInsights#849410], StorageLevel(disk, memory, 2 replicas)
(74) Filter [codegen id : 3]
Input [2]: [items#849406, shardId#849404]
Condition : (((size(items#849406.worklistShardItemId, true) > 0) AND isnotnull(items#849406.worklistShardItemId)) AND (shardId#849404 = 0_1_10000002109))
(75) Project [codegen id : 3]
Output [1]: [items#849406.worklistShardItemId AS _extract_worklistShardItemId#850435]
Input [2]: [items#849406, shardId#849404]
(76) Generate [codegen id : 3]
Input [1]: [_extract_worklistShardItemId#850435]
Arguments: explode(_extract_worklistShardItemId#850435), false, [item#849794L]
(77) Project [codegen id : 3]
Output [1]: [item#849794L AS worklistShardItemId#849795L]
Input [1]: [item#849794L]
(78) BroadcastExchange
Input [1]: [worklistShardItemId#849795L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=336410]
(79) Scan parquet
Output [5]: [orderProposalId#849843L, isFallbackOrderOnly#849860, worklistShardItemId#849866L, shardId#849887, sequenceId#849865]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000002109]
PartitionFilters: [isnotnull(shardId#849887), isnotnull(sequenceId#849865), (shardId#849887 = 0_1_10000002109), (sequenceId#849865 = 0)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(80) ColumnarToRow [codegen id : 4]
Input [5]: [orderProposalId#849843L, isFallbackOrderOnly#849860, worklistShardItemId#849866L, shardId#849887, sequenceId#849865]
(81) Filter [codegen id : 4]
Input [5]: [orderProposalId#849843L, isFallbackOrderOnly#849860, worklistShardItemId#849866L, shardId#849887, sequenceId#849865]
Condition : ((isnotnull(worklistShardItemId#849866L) AND NOT (isFallbackOrderOnly#849860 <=> true)) AND isnotnull(orderProposalId#849843L))
(82) Project [codegen id : 4]
Output [2]: [orderProposalId#849843L, worklistShardItemId#849866L]
Input [5]: [orderProposalId#849843L, isFallbackOrderOnly#849860, worklistShardItemId#849866L, shardId#849887, sequenceId#849865]
(83) Exchange
Input [2]: [orderProposalId#849843L, worklistShardItemId#849866L]
Arguments: hashpartitioning(worklistShardItemId#849866L, 20), REPARTITION_BY_NUM, [plan_id=336417]
(84) Project
Output [2]: [worklistShardItemId#849866L, orderProposalId#849843L]
Input [2]: [orderProposalId#849843L, worklistShardItemId#849866L]
(85) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#849795L]
Right keys [1]: [worklistShardItemId#849866L]
Join type: Inner
Join condition: None
(86) Project [codegen id : 5]
Output [1]: [orderProposalId#849843L]
Input [3]: [worklistShardItemId#849795L, worklistShardItemId#849866L, orderProposalId#849843L]
(87) HashAggregate [codegen id : 5]
Input [1]: [orderProposalId#849843L]
Keys [1]: [orderProposalId#849843L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#849843L]
(88) Exchange
Input [1]: [orderProposalId#849843L]
Arguments: hashpartitioning(orderProposalId#849843L, 20), ENSURE_REQUIREMENTS, [plan_id=336424]
(89) HashAggregate
Input [1]: [orderProposalId#849843L]
Keys [1]: [orderProposalId#849843L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#849843L]
(90) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [orderProposalId#849788L]
Right keys [1]: [orderProposalId#849843L]
Join type: Inner
Join condition: None
(91) Project
Output [3]: [orderProposalId#849788L, shardId#849787, coalesce(transform(optimizationGroups#849790, lambdafunction(struct(optGroupId, lambda x_2225#849785.optGroupId, minOrderProfile, lambda x_2225#849785.minOrderProfile, assignmentDetails, lambda x_2225#849785.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_2225#849785.minOrderGoal.dimensionType, unit, lambda x_2225#849785.minOrderGoal.unit, unitUuid, lambda x_2225#849785.minOrderGoal.unitUuid, goalValue, lambda x_2225#849785.minOrderGoal.minOrderValue, calcValue, lambda x_2225#849785.minOrderGoal.calculatedOrderValue), transportLoadProfile, DummyTloProfile01, transportLoadGoal, [3,5000.0,false,PAL,a7f3c91d204eb8f56d12a09e3b785c4f,TON,b4e8d1f0c73a92e61d05b8f4a291c07e,40.0]), lambda x_2225#849785, false)), []) AS optimizationGroups#849784]
Input [4]: [shardId#849787, orderProposalId#849788L, optimizationGroups#849790, orderProposalId#849843L]
(92) BroadcastExchange
Input [3]: [orderProposalId#849788L, shardId#849787, optimizationGroups#849784]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[0, bigint, true], 0), isnull(input[0, bigint, true])),false), [plan_id=336430]
(93) BroadcastHashJoin
Left keys [4]: [coalesce(shardId#847553, ), isnull(shardId#847553), coalesce(_extract_orderProposalId#850539L, 0), isnull(_extract_orderProposalId#850539L)]
Right keys [4]: [coalesce(shardId#849787, ), isnull(shardId#849787), coalesce(orderProposalId#849788L, 0), isnull(orderProposalId#849788L)]
Join type: LeftOuter
Join condition: None
(94) Project
Output [2]: [shardId#847553, named_struct(orderProposalId, _extract_orderProposalId#850539L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#850531L, supplierGroup, _extract_supplierGroup#850532, optimizationGroups, coalesce(optimizationGroups#849784, []), supplier, _extract_supplier#850533, supplyingPlant, _extract_supplyingPlant#850534, orderDateTime, _extract_orderDateTime#850535, itemGroups, _extract_itemGroups#850536, previousOrderProposals, _extract_previousOrderProposals#850537, parentItems, _extract_parentItems#850538) AS orderProposal#849891]
Input [14]: [shardId#847553, _extract_orderProposalId#850530L, _extract_originalReplenishmentRunId#850531L, _extract_supplierGroup#850532, _extract_supplier#850533, _extract_supplyingPlant#850534, _extract_orderDateTime#850535, _extract_itemGroups#850536, _extract_previousOrderProposals#850537, _extract_parentItems#850538, _extract_orderProposalId#850539L, orderProposalId#849788L, shardId#849787, optimizationGroups#849784]
(95) Project
Output [3]: [shardId#847553, orderProposal#849891, CASE WHEN (size(orderProposal#849891.parentItems, true) > 2000) THEN xxhash64(orderProposal#849891.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#849891.orderProposalId as decimal(20,0)), 1), 42) END AS resultSeparationId#851627L]
Input [2]: [orderProposal#849891, shardId#847553]
(96) ObjectHashAggregate
Input [3]: [shardId#847553, orderProposal#849891, resultSeparationId#851627L]
Keys [2]: [shardId#847553, resultSeparationId#851627L]
Functions [1]: [partial_collect_list(orderProposal#849891, 0, 0)]
Aggregate Attributes [1]: [buf#851666]
Results [3]: [shardId#847553, resultSeparationId#851627L, buf#851667]
(97) Exchange
Input [3]: [shardId#847553, resultSeparationId#851627L, buf#851667]
Arguments: hashpartitioning(shardId#847553, resultSeparationId#851627L, 20), ENSURE_REQUIREMENTS, [plan_id=336565]
(98) ObjectHashAggregate
Input [3]: [shardId#847553, resultSeparationId#851627L, buf#851667]
Keys [2]: [shardId#847553, resultSeparationId#851627L]
Functions [1]: [collect_list(orderProposal#849891, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#849891, 0, 0)#851635]
Results [3]: [shardId#847553, resultSeparationId#851627L, collect_list(orderProposal#849891, 0, 0)#851635 AS orderProposals#851631]
(99) Exchange
Input [3]: [shardId#847553, resultSeparationId#851627L, orderProposals#851631]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=336608]
(100) Project
Output [2]: [shardId#847553, orderProposals#851631]
Input [3]: [shardId#847553, resultSeparationId#851627L, orderProposals#851631]
(101) CollectLimit
Input: []
Arguments: 1