== Physical Plan ==
* HashAggregate (99)
+- Exchange (98)
+- * HashAggregate (97)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- ObjectHashAggregate (96)
+- Exchange (95)
+- ObjectHashAggregate (94)
+- Project (93)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- Project (92)
+- BroadcastHashJoin LeftOuter BuildRight (91)
:- Project (65)
: +- Project (64)
: +- ObjectHashAggregate (63)
: +- Exchange (62)
: +- ObjectHashAggregate (61)
: +- ObjectHashAggregate (60)
: +- Exchange (59)
: +- ObjectHashAggregate (58)
: +- Project (57)
: +- Project (56)
: +- Project (55)
: +- * Project (54)
: +- * Filter (53)
: +- InMemoryTableScan (5)
: +- InMemoryRelation (6)
: +- * Project (52)
: +- * SortMergeJoin LeftOuter (51)
: :- * Project (43)
: : +- * SortMergeJoin LeftOuter (42)
: : :- * Project (34)
: : : +- * SortMergeJoin LeftOuter (33)
: : : :- * Sort (27)
: : : : +- Exchange (26)
: : : : +- * Project (25)
: : : : +- * BroadcastHashJoin LeftOuter BuildRight (24)
: : : : :- * Project (16)
: : : : : +- * Generate (15)
: : : : : +- * Filter (14)
: : : : : +- InMemoryTableScan (7)
: : : : : +- InMemoryRelation (8)
: : : : : +- * Filter (13)
: : : : : +- InMemoryTableScan (9)
: : : : : +- InMemoryRelation (10)
: : : : : +- * Filter (12)
: : : : : +- * Scan ExistingRDD (11)
: : : : +- BroadcastExchange (23)
: : : : +- * Project (22)
: : : : +- Exchange (21)
: : : : +- * Project (20)
: : : : +- * Filter (19)
: : : : +- * ColumnarToRow (18)
: : : : +- Scan parquet (17)
: : : +- * Sort (32)
: : : +- Exchange (31)
: : : +- * Project (30)
: : : +- * Filter (29)
: : : +- * Scan ExistingRDD (28)
: : +- * Sort (41)
: : +- ObjectHashAggregate (40)
: : +- Exchange (39)
: : +- ObjectHashAggregate (38)
: : +- * Project (37)
: : +- * Filter (36)
: : +- * Scan ExistingRDD (35)
: +- * Sort (50)
: +- ObjectHashAggregate (49)
: +- Exchange (48)
: +- ObjectHashAggregate (47)
: +- * Project (46)
: +- * Filter (45)
: +- * Scan ExistingRDD (44)
+- BroadcastExchange (90)
+- Project (89)
+- * BroadcastHashJoin Inner BuildLeft (88)
:- BroadcastExchange (69)
: +- * Filter (68)
: +- InMemoryTableScan (66)
: +- InMemoryRelation (67)
: +- * Filter (13)
: +- InMemoryTableScan (9)
: +- InMemoryRelation (10)
: +- * Filter (12)
: +- * Scan ExistingRDD (11)
+- * HashAggregate (87)
+- Exchange (86)
+- * HashAggregate (85)
+- * Project (84)
+- * BroadcastHashJoin Inner BuildLeft (83)
:- BroadcastExchange (76)
: +- * Project (75)
: +- * Generate (74)
: +- * Project (73)
: +- * Filter (72)
: +- InMemoryTableScan (70)
: +- InMemoryRelation (71)
: +- * Filter (13)
: +- InMemoryTableScan (9)
: +- InMemoryRelation (10)
: +- * Filter (12)
: +- * Scan ExistingRDD (11)
+- * Project (82)
+- Exchange (81)
+- * Project (80)
+- * Filter (79)
+- * ColumnarToRow (78)
+- Scan parquet (77)
(1) InMemoryTableScan
Output: []
(2) InMemoryRelation
Arguments: [shardId#5499000, resultSeparationId#5503055L, orderProposals#5503059], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [2]: [orderProposal#5501319, shardId#5499000]
Arguments: [orderProposal#5501319, shardId#5499000]
(4) InMemoryRelation
Arguments: [shardId#5499000, orderProposal#5501319], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [39]: [availabilityDateTime#5499690, channelStreamSpecificKpis#5500431, constraintLabels#5499702, constraintOperators#5499703, constraintValues#5499705, deliveryDateTime#5499689, isFallbackOrderOnly#5499692, logisticUnits#5499707, measurements#5499700, minimumOrderQuantity#5499701, netPriceAmount#5499698, netPriceCurrencyCode#5499699, netPriceQuantity#5499695, netPriceQuantityUom#5499696, netPriceQuantityUomUuid#5499697, nextAvailabilityDateTime#5499691, optimizationGroups#5499708, orderDateTime#5499688, orderProposalId#5499670L, orderProposalItemGroupId#5499672, orderProposalItemId#5499671, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid#5499694, originalReplenishmentRunId#5499673L, plant#5499684, previousOrderProposal#5499676L, prodLocSpecificKpis#5500416, product#5499683, productGroup#5499712, qty#5499514, quantityAfterProdPlantOptimization#5499513, quantityKpis#5500444, shardId#5499000, sourceOfSupplyUuid#5499679, splitIndicator#5499675L, subrange#5499682, supplier#5499681, supplierGroup#5499680, supplyingPlant#5499711]
Arguments: [availabilityDateTime#5499690, channelStreamSpecificKpis#5500431, constraintLabels#5499702, constraintOperators#5499703, constraintValues#5499705, deliveryDateTime#5499689, isFallbackOrderOnly#5499692, logisticUnits#5499707, measurements#5499700, minimumOrderQuantity#5499701, netPriceAmount#5499698, netPriceCurrencyCode#5499699, netPriceQuantity#5499695, netPriceQuantityUom#5499696, netPriceQuantityUomUuid#5499697, nextAvailabilityDateTime#5499691, optimizationGroups#5499708, orderDateTime#5499688, orderProposalId#5499670L, orderProposalItemGroupId#5499672, orderProposalItemId#5499671, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid#5499694, originalReplenishmentRunId#5499673L, plant#5499684, ... 14 more fields], [NOT (isFallbackOrderOnly#5499692 <=> true)]
(6) InMemoryRelation
Arguments: [shardId#5499000, worklistShardItemId#5499512L, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499670L, originalReplenishmentRunId#5499673L, supplierGroup#5499680, supplier#5499681, supplyingPlant#5499711, productGroup#5499712, product#5499683, plant#5499684, subrange#5499682, orderDateTime#5499688, deliveryDateTime#5499689, availabilityDateTime#5499690, nextAvailabilityDateTime#5499691, constraintValues#5499705, constraintOperators#5499703, constraintLabels#5499702, logisticUnits#5499707, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid#5499694, splitIndicator#5499675L, netPriceAmount#5499698, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [2]: [shardId#5499000, items#5499002]
Arguments: [shardId#5499000, items#5499002], [(size(items#5499002, true) > 0), isnotnull(items#5499002)]
(8) InMemoryRelation
Arguments: [shardId#5499000, orderProposalId#5499001L, items#5499002, optimizationGroups#5499003, isOptimal#5499004, optimizationInsights#5499006], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [6]: [shardId#5499000, orderProposalId#5499001L, items#5499002, optimizationGroups#5499003, isOptimal#5499004, optimizationInsights#5499006]
Arguments: [shardId#5499000, orderProposalId#5499001L, items#5499002, optimizationGroups#5499003, isOptimal#5499004, optimizationInsights#5499006], [isnotnull(shardId#5499000), (shardId#5499000 = 0_1_10000001445)]
(10) InMemoryRelation
Arguments: [shardId#5499000, orderProposalId#5499001L, items#5499002, optimizationGroups#5499003, isOptimal#5499004, lastModified#5499005, optimizationInsights#5499006], StorageLevel(disk, memory, 2 replicas)
(11) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#5499000, orderProposalId#5499001L, items#5499002, optimizationGroups#5499003, isOptimal#5499004, lastModified#5499005, optimizationInsights#5499006]
Arguments: [shardId#5499000, orderProposalId#5499001L, items#5499002, optimizationGroups#5499003, isOptimal#5499004, lastModified#5499005, optimizationInsights#5499006], MapPartitionsRDD[387429] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(12) Filter [codegen id : 1]
Input [7]: [shardId#5499000, orderProposalId#5499001L, items#5499002, optimizationGroups#5499003, isOptimal#5499004, lastModified#5499005, optimizationInsights#5499006]
Condition : (isnotnull(shardId#5499000) AND (shardId#5499000 = 0_1_10000001445))
(13) Filter [codegen id : 1]
Input [6]: [shardId#5499000, orderProposalId#5499001L, items#5499002, optimizationGroups#5499003, isOptimal#5499004, optimizationInsights#5499006]
Condition : (isnotnull(shardId#5499000) AND (shardId#5499000 = 0_1_10000001445))
(14) Filter [codegen id : 3]
Input [2]: [shardId#5499000, items#5499002]
Condition : ((size(items#5499002, true) > 0) AND isnotnull(items#5499002))
(15) Generate [codegen id : 3]
Input [2]: [shardId#5499000, items#5499002]
Arguments: explode(items#5499002), [shardId#5499000], false, [item#5499511]
(16) Project [codegen id : 3]
Output [4]: [shardId#5499000, item#5499511.worklistShardItemId AS worklistShardItemId#5499512L, item#5499511.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#5499513, item#5499511.qty AS qty#5499514]
Input [2]: [shardId#5499000, item#5499511]
(17) Scan parquet
Output [38]: [orderProposalId#5499713L, orderProposalItemId#5499714, supplierGroup#5499715, supplier#5499716, plant#5499717, deliveryDateTime#5499718, subrange#5499719, supplyingPlant#5499720, productGroup#5499721, product#5499722, orderDateTime#5499723, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, sourceOfSupplyUuid#5499727, isFallbackOrderOnly#5499730, splitIndicator#5499732L, previousOrderProposal#5499733L, worklistShardItemId#5499736L, orderProposalItemGroupId#5499737, externalProductId#5499738, externalPlantId#5499739, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, minimumOrderQuantity#5499743, constraintLabels#5499744, constraintOperators#5499745, constraintValues#5499746, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, measurements#5499754, originalReplenishmentRunId#5499755L, optimizationGroups#5499756, shardId#5499757, sequenceId#5499735]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://332d7051-0d16-44f5-ae76-bf2dcf30365f.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000001445]
PartitionFilters: [isnotnull(shardId#5499757), isnotnull(sequenceId#5499735), (shardId#5499757 = 0_1_10000001445), (sequenceId#5499735 = 6)]
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>>
(18) ColumnarToRow [codegen id : 1]
Input [38]: [orderProposalId#5499713L, orderProposalItemId#5499714, supplierGroup#5499715, supplier#5499716, plant#5499717, deliveryDateTime#5499718, subrange#5499719, supplyingPlant#5499720, productGroup#5499721, product#5499722, orderDateTime#5499723, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, sourceOfSupplyUuid#5499727, isFallbackOrderOnly#5499730, splitIndicator#5499732L, previousOrderProposal#5499733L, worklistShardItemId#5499736L, orderProposalItemGroupId#5499737, externalProductId#5499738, externalPlantId#5499739, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, minimumOrderQuantity#5499743, constraintLabels#5499744, constraintOperators#5499745, constraintValues#5499746, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, measurements#5499754, originalReplenishmentRunId#5499755L, optimizationGroups#5499756, shardId#5499757, sequenceId#5499735]
(19) Filter [codegen id : 1]
Input [38]: [orderProposalId#5499713L, orderProposalItemId#5499714, supplierGroup#5499715, supplier#5499716, plant#5499717, deliveryDateTime#5499718, subrange#5499719, supplyingPlant#5499720, productGroup#5499721, product#5499722, orderDateTime#5499723, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, sourceOfSupplyUuid#5499727, isFallbackOrderOnly#5499730, splitIndicator#5499732L, previousOrderProposal#5499733L, worklistShardItemId#5499736L, orderProposalItemGroupId#5499737, externalProductId#5499738, externalPlantId#5499739, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, minimumOrderQuantity#5499743, constraintLabels#5499744, constraintOperators#5499745, constraintValues#5499746, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, measurements#5499754, originalReplenishmentRunId#5499755L, optimizationGroups#5499756, shardId#5499757, sequenceId#5499735]
Condition : isnotnull(worklistShardItemId#5499736L)
(20) Project [codegen id : 1]
Output [36]: [orderProposalId#5499713L, orderProposalItemId#5499714, supplierGroup#5499715, supplier#5499716, plant#5499717, deliveryDateTime#5499718, subrange#5499719, supplyingPlant#5499720, productGroup#5499721, product#5499722, orderDateTime#5499723, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, sourceOfSupplyUuid#5499727, isFallbackOrderOnly#5499730, splitIndicator#5499732L, previousOrderProposal#5499733L, worklistShardItemId#5499736L, orderProposalItemGroupId#5499737, externalProductId#5499738, externalPlantId#5499739, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, minimumOrderQuantity#5499743, constraintLabels#5499744, constraintOperators#5499745, constraintValues#5499746, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, measurements#5499754, originalReplenishmentRunId#5499755L, optimizationGroups#5499756]
Input [38]: [orderProposalId#5499713L, orderProposalItemId#5499714, supplierGroup#5499715, supplier#5499716, plant#5499717, deliveryDateTime#5499718, subrange#5499719, supplyingPlant#5499720, productGroup#5499721, product#5499722, orderDateTime#5499723, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, sourceOfSupplyUuid#5499727, isFallbackOrderOnly#5499730, splitIndicator#5499732L, previousOrderProposal#5499733L, worklistShardItemId#5499736L, orderProposalItemGroupId#5499737, externalProductId#5499738, externalPlantId#5499739, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, minimumOrderQuantity#5499743, constraintLabels#5499744, constraintOperators#5499745, constraintValues#5499746, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, measurements#5499754, originalReplenishmentRunId#5499755L, optimizationGroups#5499756, shardId#5499757, sequenceId#5499735]
(21) Exchange
Input [36]: [orderProposalId#5499713L, orderProposalItemId#5499714, supplierGroup#5499715, supplier#5499716, plant#5499717, deliveryDateTime#5499718, subrange#5499719, supplyingPlant#5499720, productGroup#5499721, product#5499722, orderDateTime#5499723, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, sourceOfSupplyUuid#5499727, isFallbackOrderOnly#5499730, splitIndicator#5499732L, previousOrderProposal#5499733L, worklistShardItemId#5499736L, orderProposalItemGroupId#5499737, externalProductId#5499738, externalPlantId#5499739, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, minimumOrderQuantity#5499743, constraintLabels#5499744, constraintOperators#5499745, constraintValues#5499746, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, measurements#5499754, originalReplenishmentRunId#5499755L, optimizationGroups#5499756]
Arguments: hashpartitioning(worklistShardItemId#5499736L, 30), REPARTITION_BY_NUM, [plan_id=2853795]
(22) Project [codegen id : 2]
Output [36]: [worklistShardItemId#5499736L, orderProposalId#5499713L, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, originalReplenishmentRunId#5499755L, splitIndicator#5499732L, previousOrderProposal#5499733L, sourceOfSupplyUuid#5499727, supplierGroup#5499715, supplier#5499716, subrange#5499719, product#5499722, plant#5499717, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, isFallbackOrderOnly#5499730, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, netPriceAmount#5499749, netPriceCurrencyCode#5499750, measurements#5499754, minimumOrderQuantity#5499743, constraintLabels#5499744, constraintOperators#5499745, constraintValues#5499746, logisticUnits#5499740, optimizationGroups#5499756, externalProductId#5499738, externalPlantId#5499739, supplyingPlant#5499720, productGroup#5499721]
Input [36]: [orderProposalId#5499713L, orderProposalItemId#5499714, supplierGroup#5499715, supplier#5499716, plant#5499717, deliveryDateTime#5499718, subrange#5499719, supplyingPlant#5499720, productGroup#5499721, product#5499722, orderDateTime#5499723, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, sourceOfSupplyUuid#5499727, isFallbackOrderOnly#5499730, splitIndicator#5499732L, previousOrderProposal#5499733L, worklistShardItemId#5499736L, orderProposalItemGroupId#5499737, externalProductId#5499738, externalPlantId#5499739, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, minimumOrderQuantity#5499743, constraintLabels#5499744, constraintOperators#5499745, constraintValues#5499746, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, measurements#5499754, originalReplenishmentRunId#5499755L, optimizationGroups#5499756]
(23) BroadcastExchange
Input [36]: [worklistShardItemId#5499736L, orderProposalId#5499713L, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, originalReplenishmentRunId#5499755L, splitIndicator#5499732L, previousOrderProposal#5499733L, sourceOfSupplyUuid#5499727, supplierGroup#5499715, supplier#5499716, subrange#5499719, product#5499722, plant#5499717, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, isFallbackOrderOnly#5499730, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, netPriceAmount#5499749, netPriceCurrencyCode#5499750, measurements#5499754, minimumOrderQuantity#5499743, constraintLabels#5499744, constraintOperators#5499745, constraintValues#5499746, logisticUnits#5499740, optimizationGroups#5499756, externalProductId#5499738, externalPlantId#5499739, supplyingPlant#5499720, productGroup#5499721]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=2853799]
(24) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#5499512L]
Right keys [1]: [worklistShardItemId#5499736L]
Join type: LeftOuter
Join condition: (shardId#5499000 = 0_1_10000001445)
(25) Project [codegen id : 3]
Output [39]: [shardId#5499000, worklistShardItemId#5499512L, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499713L, originalReplenishmentRunId#5499755L, supplierGroup#5499715, supplier#5499716, supplyingPlant#5499720, productGroup#5499721, product#5499722, plant#5499717, subrange#5499719, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, constraintValues#5499746, constraintOperators#5499745, constraintLabels#5499744, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, splitIndicator#5499732L, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, sourceOfSupplyUuid#5499727, minimumOrderQuantity#5499743, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, optimizationGroups#5499756, measurements#5499754, externalProductId#5499738, externalPlantId#5499739, previousOrderProposal#5499733L, isFallbackOrderOnly#5499730]
Input [40]: [shardId#5499000, worklistShardItemId#5499512L, quantityAfterProdPlantOptimization#5499513, qty#5499514, worklistShardItemId#5499736L, orderProposalId#5499713L, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, originalReplenishmentRunId#5499755L, splitIndicator#5499732L, previousOrderProposal#5499733L, sourceOfSupplyUuid#5499727, supplierGroup#5499715, supplier#5499716, subrange#5499719, product#5499722, plant#5499717, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, isFallbackOrderOnly#5499730, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, netPriceAmount#5499749, netPriceCurrencyCode#5499750, measurements#5499754, minimumOrderQuantity#5499743, constraintLabels#5499744, constraintOperators#5499745, constraintValues#5499746, logisticUnits#5499740, optimizationGroups#5499756, externalProductId#5499738, externalPlantId#5499739, supplyingPlant#5499720, productGroup#5499721]
(26) Exchange
Input [39]: [shardId#5499000, worklistShardItemId#5499512L, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499713L, originalReplenishmentRunId#5499755L, supplierGroup#5499715, supplier#5499716, supplyingPlant#5499720, productGroup#5499721, product#5499722, plant#5499717, subrange#5499719, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, constraintValues#5499746, constraintOperators#5499745, constraintLabels#5499744, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, splitIndicator#5499732L, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, sourceOfSupplyUuid#5499727, minimumOrderQuantity#5499743, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, optimizationGroups#5499756, measurements#5499754, externalProductId#5499738, externalPlantId#5499739, previousOrderProposal#5499733L, isFallbackOrderOnly#5499730]
Arguments: hashpartitioning(shardId#5499000, worklistShardItemId#5499512L, 30), ENSURE_REQUIREMENTS, [plan_id=2853804]
(27) Sort [codegen id : 4]
Input [39]: [shardId#5499000, worklistShardItemId#5499512L, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499713L, originalReplenishmentRunId#5499755L, supplierGroup#5499715, supplier#5499716, supplyingPlant#5499720, productGroup#5499721, product#5499722, plant#5499717, subrange#5499719, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, constraintValues#5499746, constraintOperators#5499745, constraintLabels#5499744, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, splitIndicator#5499732L, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, sourceOfSupplyUuid#5499727, minimumOrderQuantity#5499743, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, optimizationGroups#5499756, measurements#5499754, externalProductId#5499738, externalPlantId#5499739, previousOrderProposal#5499733L, isFallbackOrderOnly#5499730]
Arguments: [shardId#5499000 ASC NULLS FIRST, worklistShardItemId#5499512L ASC NULLS FIRST], false, 0
(28) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#5500409, worklistShardItemId#5500410L, qty#5500411, demandChannel#5500412, demandStream#5500413, kpis#5500414]
Arguments: [shardId#5500409, worklistShardItemId#5500410L, qty#5500411, demandChannel#5500412, demandStream#5500413, kpis#5500414], MapPartitionsRDD[387503] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(29) Filter [codegen id : 5]
Input [6]: [shardId#5500409, worklistShardItemId#5500410L, qty#5500411, demandChannel#5500412, demandStream#5500413, kpis#5500414]
Condition : (((isnull(qty#5500411) AND isnull(demandChannel#5500412)) AND isnull(demandStream#5500413)) AND (isnotnull(shardId#5500409) AND isnotnull(worklistShardItemId#5500410L)))
(30) Project [codegen id : 5]
Output [3]: [shardId#5500409, worklistShardItemId#5500410L, coalesce(kpis#5500414, []) AS prodLocSpecificKpis#5500415]
Input [6]: [shardId#5500409, worklistShardItemId#5500410L, qty#5500411, demandChannel#5500412, demandStream#5500413, kpis#5500414]
(31) Exchange
Input [3]: [shardId#5500409, worklistShardItemId#5500410L, prodLocSpecificKpis#5500415]
Arguments: hashpartitioning(shardId#5500409, worklistShardItemId#5500410L, 30), ENSURE_REQUIREMENTS, [plan_id=2853810]
(32) Sort [codegen id : 6]
Input [3]: [shardId#5500409, worklistShardItemId#5500410L, prodLocSpecificKpis#5500415]
Arguments: [shardId#5500409 ASC NULLS FIRST, worklistShardItemId#5500410L ASC NULLS FIRST], false, 0
(33) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#5499000, worklistShardItemId#5499512L]
Right keys [2]: [shardId#5500409, worklistShardItemId#5500410L]
Join type: LeftOuter
Join condition: None
(34) Project [codegen id : 7]
Output [40]: [shardId#5499000, worklistShardItemId#5499512L, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499713L, originalReplenishmentRunId#5499755L, supplierGroup#5499715, supplier#5499716, supplyingPlant#5499720, productGroup#5499721, product#5499722, plant#5499717, subrange#5499719, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, constraintValues#5499746, constraintOperators#5499745, constraintLabels#5499744, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, splitIndicator#5499732L, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, sourceOfSupplyUuid#5499727, minimumOrderQuantity#5499743, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, optimizationGroups#5499756, measurements#5499754, externalProductId#5499738, externalPlantId#5499739, previousOrderProposal#5499733L, isFallbackOrderOnly#5499730, coalesce(prodLocSpecificKpis#5500415, []) AS prodLocSpecificKpis#5500416]
Input [42]: [shardId#5499000, worklistShardItemId#5499512L, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499713L, originalReplenishmentRunId#5499755L, supplierGroup#5499715, supplier#5499716, supplyingPlant#5499720, productGroup#5499721, product#5499722, plant#5499717, subrange#5499719, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, constraintValues#5499746, constraintOperators#5499745, constraintLabels#5499744, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, splitIndicator#5499732L, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, sourceOfSupplyUuid#5499727, minimumOrderQuantity#5499743, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, optimizationGroups#5499756, measurements#5499754, externalProductId#5499738, externalPlantId#5499739, previousOrderProposal#5499733L, isFallbackOrderOnly#5499730, shardId#5500409, worklistShardItemId#5500410L, prodLocSpecificKpis#5500415]
(35) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#5500425, worklistShardItemId#5500426L, qty#5500427, demandChannel#5500428, demandStream#5500429, kpis#5500430]
Arguments: [shardId#5500425, worklistShardItemId#5500426L, qty#5500427, demandChannel#5500428, demandStream#5500429, kpis#5500430], MapPartitionsRDD[387503] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(36) Filter [codegen id : 8]
Input [6]: [shardId#5500425, worklistShardItemId#5500426L, qty#5500427, demandChannel#5500428, demandStream#5500429, kpis#5500430]
Condition : ((((isnull(qty#5500427) AND isnotnull(demandChannel#5500428)) AND isnotnull(demandStream#5500429)) AND (size(kpis#5500430, true) > 0)) AND (isnotnull(shardId#5500425) AND isnotnull(worklistShardItemId#5500426L)))
(37) Project [codegen id : 8]
Output [5]: [shardId#5500425, worklistShardItemId#5500426L, demandChannel#5500428, demandStream#5500429, kpis#5500430]
Input [6]: [shardId#5500425, worklistShardItemId#5500426L, qty#5500427, demandChannel#5500428, demandStream#5500429, kpis#5500430]
(38) ObjectHashAggregate
Input [5]: [shardId#5500425, worklistShardItemId#5500426L, demandChannel#5500428, demandStream#5500429, kpis#5500430]
Keys [2]: [shardId#5500425, worklistShardItemId#5500426L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#5500428, demandStream, demandStream#5500429, kpis, kpis#5500430), 0, 0)]
Aggregate Attributes [1]: [buf#5500605]
Results [3]: [shardId#5500425, worklistShardItemId#5500426L, buf#5500606]
(39) Exchange
Input [3]: [shardId#5500425, worklistShardItemId#5500426L, buf#5500606]
Arguments: hashpartitioning(shardId#5500425, worklistShardItemId#5500426L, 30), ENSURE_REQUIREMENTS, [plan_id=2853821]
(40) ObjectHashAggregate
Input [3]: [shardId#5500425, worklistShardItemId#5500426L, buf#5500606]
Keys [2]: [shardId#5500425, worklistShardItemId#5500426L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#5500428, demandStream, demandStream#5500429, kpis, kpis#5500430), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#5500428, demandStream, demandStream#5500429, kpis, kpis#5500430), 0, 0)#5500424]
Results [3]: [shardId#5500425, worklistShardItemId#5500426L, collect_list(struct(demandChannel, demandChannel#5500428, demandStream, demandStream#5500429, kpis, kpis#5500430), 0, 0)#5500424 AS channelStreamSpecificKpis#5500417]
(41) Sort [codegen id : 9]
Input [3]: [shardId#5500425, worklistShardItemId#5500426L, channelStreamSpecificKpis#5500417]
Arguments: [shardId#5500425 ASC NULLS FIRST, worklistShardItemId#5500426L ASC NULLS FIRST], false, 0
(42) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#5499000, worklistShardItemId#5499512L]
Right keys [2]: [shardId#5500425, worklistShardItemId#5500426L]
Join type: LeftOuter
Join condition: None
(43) Project [codegen id : 10]
Output [41]: [shardId#5499000, worklistShardItemId#5499512L, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499713L, originalReplenishmentRunId#5499755L, supplierGroup#5499715, supplier#5499716, supplyingPlant#5499720, productGroup#5499721, product#5499722, plant#5499717, subrange#5499719, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, constraintValues#5499746, constraintOperators#5499745, constraintLabels#5499744, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, splitIndicator#5499732L, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, sourceOfSupplyUuid#5499727, minimumOrderQuantity#5499743, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, optimizationGroups#5499756, measurements#5499754, externalProductId#5499738, externalPlantId#5499739, previousOrderProposal#5499733L, isFallbackOrderOnly#5499730, prodLocSpecificKpis#5500416, coalesce(channelStreamSpecificKpis#5500417, []) AS channelStreamSpecificKpis#5500431]
Input [43]: [shardId#5499000, worklistShardItemId#5499512L, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499713L, originalReplenishmentRunId#5499755L, supplierGroup#5499715, supplier#5499716, supplyingPlant#5499720, productGroup#5499721, product#5499722, plant#5499717, subrange#5499719, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, constraintValues#5499746, constraintOperators#5499745, constraintLabels#5499744, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, splitIndicator#5499732L, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, sourceOfSupplyUuid#5499727, minimumOrderQuantity#5499743, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, optimizationGroups#5499756, measurements#5499754, externalProductId#5499738, externalPlantId#5499739, previousOrderProposal#5499733L, isFallbackOrderOnly#5499730, prodLocSpecificKpis#5500416, shardId#5500425, worklistShardItemId#5500426L, channelStreamSpecificKpis#5500417]
(44) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#5500438, worklistShardItemId#5500439L, qty#5500440, demandChannel#5500441, demandStream#5500442, kpis#5500443]
Arguments: [shardId#5500438, worklistShardItemId#5500439L, qty#5500440, demandChannel#5500441, demandStream#5500442, kpis#5500443], MapPartitionsRDD[387503] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(45) Filter [codegen id : 11]
Input [6]: [shardId#5500438, worklistShardItemId#5500439L, qty#5500440, demandChannel#5500441, demandStream#5500442, kpis#5500443]
Condition : ((isnotnull(qty#5500440) AND isnotnull(kpis#5500443)) AND (isnotnull(shardId#5500438) AND isnotnull(worklistShardItemId#5500439L)))
(46) Project [codegen id : 11]
Output [4]: [shardId#5500438, worklistShardItemId#5500439L, qty#5500440, kpis#5500443]
Input [6]: [shardId#5500438, worklistShardItemId#5500439L, qty#5500440, demandChannel#5500441, demandStream#5500442, kpis#5500443]
(47) ObjectHashAggregate
Input [4]: [shardId#5500438, worklistShardItemId#5500439L, qty#5500440, kpis#5500443]
Keys [2]: [shardId#5500438, worklistShardItemId#5500439L]
Functions [1]: [partial_collect_list(struct(qty, qty#5500440, kpis, kpis#5500443), 0, 0)]
Aggregate Attributes [1]: [buf#5500607]
Results [3]: [shardId#5500438, worklistShardItemId#5500439L, buf#5500608]
(48) Exchange
Input [3]: [shardId#5500438, worklistShardItemId#5500439L, buf#5500608]
Arguments: hashpartitioning(shardId#5500438, worklistShardItemId#5500439L, 30), ENSURE_REQUIREMENTS, [plan_id=2853833]
(49) ObjectHashAggregate
Input [3]: [shardId#5500438, worklistShardItemId#5500439L, buf#5500608]
Keys [2]: [shardId#5500438, worklistShardItemId#5500439L]
Functions [1]: [collect_list(struct(qty, qty#5500440, kpis, kpis#5500443), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#5500440, kpis, kpis#5500443), 0, 0)#5500437]
Results [3]: [shardId#5500438, worklistShardItemId#5500439L, map_from_entries(collect_list(struct(qty, qty#5500440, kpis, kpis#5500443), 0, 0)#5500437) AS quantityKpis#5500432]
(50) Sort [codegen id : 12]
Input [3]: [shardId#5500438, worklistShardItemId#5500439L, quantityKpis#5500432]
Arguments: [shardId#5500438 ASC NULLS FIRST, worklistShardItemId#5500439L ASC NULLS FIRST], false, 0
(51) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#5499000, worklistShardItemId#5499512L]
Right keys [2]: [shardId#5500438, worklistShardItemId#5500439L]
Join type: LeftOuter
Join condition: None
(52) Project [codegen id : 13]
Output [42]: [shardId#5499000, worklistShardItemId#5499512L, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499713L, originalReplenishmentRunId#5499755L, supplierGroup#5499715, supplier#5499716, supplyingPlant#5499720, productGroup#5499721, product#5499722, plant#5499717, subrange#5499719, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, constraintValues#5499746, constraintOperators#5499745, constraintLabels#5499744, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, splitIndicator#5499732L, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, sourceOfSupplyUuid#5499727, minimumOrderQuantity#5499743, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, optimizationGroups#5499756, measurements#5499754, externalProductId#5499738, externalPlantId#5499739, previousOrderProposal#5499733L, isFallbackOrderOnly#5499730, prodLocSpecificKpis#5500416, channelStreamSpecificKpis#5500431, coalesce(quantityKpis#5500432, map(keys: [], values: [])) AS quantityKpis#5500444]
Input [44]: [shardId#5499000, worklistShardItemId#5499512L, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499713L, originalReplenishmentRunId#5499755L, supplierGroup#5499715, supplier#5499716, supplyingPlant#5499720, productGroup#5499721, product#5499722, plant#5499717, subrange#5499719, orderDateTime#5499723, deliveryDateTime#5499718, availabilityDateTime#5499724, nextAvailabilityDateTime#5499725, constraintValues#5499746, constraintOperators#5499745, constraintLabels#5499744, logisticUnits#5499740, orderQuantityBaseUom#5499741, orderQuantityBaseUomUuid#5499742, splitIndicator#5499732L, netPriceAmount#5499749, netPriceCurrencyCode#5499750, netPriceQuantity#5499751, netPriceQuantityUom#5499752, netPriceQuantityUomUuid#5499753, sourceOfSupplyUuid#5499727, minimumOrderQuantity#5499743, orderProposalItemId#5499714, orderProposalItemGroupId#5499737, optimizationGroups#5499756, measurements#5499754, externalProductId#5499738, externalPlantId#5499739, previousOrderProposal#5499733L, isFallbackOrderOnly#5499730, prodLocSpecificKpis#5500416, channelStreamSpecificKpis#5500431, shardId#5500438, worklistShardItemId#5500439L, quantityKpis#5500432]
(53) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#5499690, channelStreamSpecificKpis#5500431, constraintLabels#5499702, constraintOperators#5499703, constraintValues#5499705, deliveryDateTime#5499689, isFallbackOrderOnly#5499692, logisticUnits#5499707, measurements#5499700, minimumOrderQuantity#5499701, netPriceAmount#5499698, netPriceCurrencyCode#5499699, netPriceQuantity#5499695, netPriceQuantityUom#5499696, netPriceQuantityUomUuid#5499697, nextAvailabilityDateTime#5499691, optimizationGroups#5499708, orderDateTime#5499688, orderProposalId#5499670L, orderProposalItemGroupId#5499672, orderProposalItemId#5499671, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid#5499694, originalReplenishmentRunId#5499673L, plant#5499684, previousOrderProposal#5499676L, prodLocSpecificKpis#5500416, product#5499683, productGroup#5499712, qty#5499514, quantityAfterProdPlantOptimization#5499513, quantityKpis#5500444, shardId#5499000, sourceOfSupplyUuid#5499679, splitIndicator#5499675L, subrange#5499682, supplier#5499681, supplierGroup#5499680, supplyingPlant#5499711]
Condition : NOT (isFallbackOrderOnly#5499692 <=> true)
(54) Project [codegen id : 1]
Output [36]: [shardId#5499000, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499670L, originalReplenishmentRunId#5499673L, supplierGroup#5499680, supplier#5499681, supplyingPlant#5499711, productGroup#5499712, product#5499683, plant#5499684, subrange#5499682, orderDateTime#5499688, deliveryDateTime#5499689, availabilityDateTime#5499690, nextAvailabilityDateTime#5499691, logisticUnits#5499707, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid#5499694, splitIndicator#5499675L, netPriceAmount#5499698, netPriceCurrencyCode#5499699, netPriceQuantity#5499695, netPriceQuantityUom#5499696, netPriceQuantityUomUuid#5499697, sourceOfSupplyUuid#5499679, minimumOrderQuantity#5499701, orderProposalItemId#5499671, orderProposalItemGroupId#5499672, optimizationGroups#5499708, measurements#5499700, previousOrderProposal#5499676L, prodLocSpecificKpis#5500416, channelStreamSpecificKpis#5500431, quantityKpis#5500444, arrays_zip(constraintLabels#5499702, constraintOperators#5499703, constraintValues#5499705, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#5500858]
Input [39]: [availabilityDateTime#5499690, channelStreamSpecificKpis#5500431, constraintLabels#5499702, constraintOperators#5499703, constraintValues#5499705, deliveryDateTime#5499689, isFallbackOrderOnly#5499692, logisticUnits#5499707, measurements#5499700, minimumOrderQuantity#5499701, netPriceAmount#5499698, netPriceCurrencyCode#5499699, netPriceQuantity#5499695, netPriceQuantityUom#5499696, netPriceQuantityUomUuid#5499697, nextAvailabilityDateTime#5499691, optimizationGroups#5499708, orderDateTime#5499688, orderProposalId#5499670L, orderProposalItemGroupId#5499672, orderProposalItemId#5499671, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid#5499694, originalReplenishmentRunId#5499673L, plant#5499684, previousOrderProposal#5499676L, prodLocSpecificKpis#5500416, product#5499683, productGroup#5499712, qty#5499514, quantityAfterProdPlantOptimization#5499513, quantityKpis#5500444, shardId#5499000, sourceOfSupplyUuid#5499679, splitIndicator#5499675L, subrange#5499682, supplier#5499681, supplierGroup#5499680, supplyingPlant#5499711]
(55) Project
Output [37]: [shardId#5499000, qty#5499514, orderProposalId#5499670L, originalReplenishmentRunId#5499673L, supplierGroup#5499680, supplier#5499681, supplyingPlant#5499711, productGroup#5499712, product#5499683, plant#5499684, subrange#5499682, orderDateTime#5499688, deliveryDateTime#5499689, availabilityDateTime#5499690, nextAvailabilityDateTime#5499691, logisticUnits#5499707, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid#5499694, splitIndicator#5499675L, netPriceAmount#5499698, netPriceCurrencyCode#5499699, netPriceQuantity#5499695, netPriceQuantityUom#5499696, netPriceQuantityUomUuid#5499697, sourceOfSupplyUuid#5499679, orderProposalItemId#5499671, orderProposalItemGroupId#5499672, optimizationGroups#5499708, measurements#5499700, previousOrderProposal#5499676L, prodLocSpecificKpis#5500416, channelStreamSpecificKpis#5500431, quantityKpis#5500444, struct(minServiceLevel, array_min(filter(constraintStructArray#5500858, lambdafunction((lambda x_10855#5500865.constraintLabels = ServiceLevel), lambda x_10855#5500865, false)).constraintValues), minServiceLevelMinStock, null, maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#5500858, lambdafunction((lambda x_10856#5500866.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_10856#5500866, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#5500858, lambdafunction((lambda x_10857#5500867.constraintLabels = RangeOfCoverage), lambda x_10857#5500867, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#5499701, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#5500416, lambdafunction((lambda x_10858#5500868.label = NonListingStartTimestamp), lambda x_10858#5500868, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#5500864, CASE WHEN (qty#5499514 <=> quantityAfterProdPlantOptimization#5499513) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#5499514 * (cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10859#5500936.isOrderUnit, lambda x_10859#5500936, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10859#5500937.isOrderUnit, lambda x_10859#5500937, false)), 1, None, false).numerator as double))), qty#5499514), orderQuantityUom, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10859#5500938.isOrderUnit, lambda x_10859#5500938, false)), 1, None, false).uom, orderQuantityBaseUom#5499693), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10859#5500939.isOrderUnit, lambda x_10859#5500939, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5499694), candidateOrderQuantityInBaseUnit, qty#5499514, orderQuantityBaseUom, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#5499694, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#5499707, lambdafunction((lambda x_10861#5500940.isPreferred AND (((qty#5499514 * cast(lambda x_10861#5500940.denominator as double)) % cast(lambda x_10861#5500940.numerator as double)) = 0.0)), lambda x_10861#5500940, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5499514 * cast(lambda x_10862#5500978.denominator as double)) / cast(lambda x_10862#5500978.numerator as double)), uom, lambda x_10862#5500978.uom, uomUuid, lambda x_10862#5500978.uomUuid), lambda x_10862#5500978, false))).inPreferredQuantity, coalesce((qty#5499514 * (cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10860#5500941.isOrderUnit, lambda x_10860#5500941, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10860#5500942.isOrderUnit, lambda x_10860#5500942, false)), 1, None, false).numerator as double))), qty#5499514)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#5499707, lambdafunction((lambda x_10861#5500943.isPreferred AND (((qty#5499514 * cast(lambda x_10861#5500943.denominator as double)) % cast(lambda x_10861#5500943.numerator as double)) = 0.0)), lambda x_10861#5500943, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5499514 * cast(lambda x_10862#5500979.denominator as double)) / cast(lambda x_10862#5500979.numerator as double)), uom, lambda x_10862#5500979.uom, uomUuid, lambda x_10862#5500979.uomUuid), lambda x_10862#5500979, false))).uom, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10860#5500944.isOrderUnit, lambda x_10860#5500944, false)), 1, None, false).uom, orderQuantityBaseUom#5499693)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#5499707, lambdafunction((lambda x_10861#5500945.isPreferred AND (((qty#5499514 * cast(lambda x_10861#5500945.denominator as double)) % cast(lambda x_10861#5500945.numerator as double)) = 0.0)), lambda x_10861#5500945, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5499514 * cast(lambda x_10862#5500980.denominator as double)) / cast(lambda x_10862#5500980.numerator as double)), uom, lambda x_10862#5500980.uom, uomUuid, lambda x_10862#5500980.uomUuid), lambda x_10862#5500980, false))).uomUuid, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10860#5500946.isOrderUnit, lambda x_10860#5500946, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5499694)), serviceLevel, coalesce(filter(element_at(quantityKpis#5500444, qty#5499514, None, false), lambdafunction((lambda x_10867#5500947.label = ServiceLevel), lambda x_10867#5500947, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#5499514 * (cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10859#5500950.isOrderUnit, lambda x_10859#5500950, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10859#5500951.isOrderUnit, lambda x_10859#5500951, false)), 1, None, false).numerator as double))), qty#5499514), orderQuantityUom, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10859#5500952.isOrderUnit, lambda x_10859#5500952, false)), 1, None, false).uom, orderQuantityBaseUom#5499693), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10859#5500953.isOrderUnit, lambda x_10859#5500953, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5499694), candidateOrderQuantityInBaseUnit, qty#5499514, orderQuantityBaseUom, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#5499694, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#5499707, lambdafunction((lambda x_10861#5500954.isPreferred AND (((qty#5499514 * cast(lambda x_10861#5500954.denominator as double)) % cast(lambda x_10861#5500954.numerator as double)) = 0.0)), lambda x_10861#5500954, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5499514 * cast(lambda x_10862#5500981.denominator as double)) / cast(lambda x_10862#5500981.numerator as double)), uom, lambda x_10862#5500981.uom, uomUuid, lambda x_10862#5500981.uomUuid), lambda x_10862#5500981, false))).inPreferredQuantity, coalesce((qty#5499514 * (cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10860#5500955.isOrderUnit, lambda x_10860#5500955, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10860#5500956.isOrderUnit, lambda x_10860#5500956, false)), 1, None, false).numerator as double))), qty#5499514)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#5499707, lambdafunction((lambda x_10861#5500957.isPreferred AND (((qty#5499514 * cast(lambda x_10861#5500957.denominator as double)) % cast(lambda x_10861#5500957.numerator as double)) = 0.0)), lambda x_10861#5500957, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5499514 * cast(lambda x_10862#5500982.denominator as double)) / cast(lambda x_10862#5500982.numerator as double)), uom, lambda x_10862#5500982.uom, uomUuid, lambda x_10862#5500982.uomUuid), lambda x_10862#5500982, false))).uom, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10860#5500958.isOrderUnit, lambda x_10860#5500958, false)), 1, None, false).uom, orderQuantityBaseUom#5499693)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#5499707, lambdafunction((lambda x_10861#5500959.isPreferred AND (((qty#5499514 * cast(lambda x_10861#5500959.denominator as double)) % cast(lambda x_10861#5500959.numerator as double)) = 0.0)), lambda x_10861#5500959, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5499514 * cast(lambda x_10862#5500983.denominator as double)) / cast(lambda x_10862#5500983.numerator as double)), uom, lambda x_10862#5500983.uom, uomUuid, lambda x_10862#5500983.uomUuid), lambda x_10862#5500983, false))).uomUuid, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10860#5500960.isOrderUnit, lambda x_10860#5500960, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5499694)), serviceLevel, coalesce(filter(element_at(quantityKpis#5500444, qty#5499514, None, false), lambdafunction((lambda x_10870#5500961.label = ServiceLevel), lambda x_10870#5500961, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#5499513 * (cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10863#5500964.isOrderUnit, lambda x_10863#5500964, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10863#5500965.isOrderUnit, lambda x_10863#5500965, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#5499513), orderQuantityUom, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10863#5500966.isOrderUnit, lambda x_10863#5500966, false)), 1, None, false).uom, orderQuantityBaseUom#5499693), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10863#5500967.isOrderUnit, lambda x_10863#5500967, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5499694), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#5499513, orderQuantityBaseUom, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#5499694, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#5499707, lambdafunction((lambda x_10865#5500968.isPreferred AND (((quantityAfterProdPlantOptimization#5499513 * cast(lambda x_10865#5500968.denominator as double)) % cast(lambda x_10865#5500968.numerator as double)) = 0.0)), lambda x_10865#5500968, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#5499513 * cast(lambda x_10866#5500984.denominator as double)) / cast(lambda x_10866#5500984.numerator as double)), uom, lambda x_10866#5500984.uom, uomUuid, lambda x_10866#5500984.uomUuid), lambda x_10866#5500984, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#5499513 * (cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10864#5500969.isOrderUnit, lambda x_10864#5500969, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10864#5500970.isOrderUnit, lambda x_10864#5500970, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#5499513)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#5499707, lambdafunction((lambda x_10865#5500971.isPreferred AND (((quantityAfterProdPlantOptimization#5499513 * cast(lambda x_10865#5500971.denominator as double)) % cast(lambda x_10865#5500971.numerator as double)) = 0.0)), lambda x_10865#5500971, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#5499513 * cast(lambda x_10866#5500985.denominator as double)) / cast(lambda x_10866#5500985.numerator as double)), uom, lambda x_10866#5500985.uom, uomUuid, lambda x_10866#5500985.uomUuid), lambda x_10866#5500985, false))).uom, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10864#5500972.isOrderUnit, lambda x_10864#5500972, false)), 1, None, false).uom, orderQuantityBaseUom#5499693)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#5499707, lambdafunction((lambda x_10865#5500973.isPreferred AND (((quantityAfterProdPlantOptimization#5499513 * cast(lambda x_10865#5500973.denominator as double)) % cast(lambda x_10865#5500973.numerator as double)) = 0.0)), lambda x_10865#5500973, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#5499513 * cast(lambda x_10866#5500986.denominator as double)) / cast(lambda x_10866#5500986.numerator as double)), uom, lambda x_10866#5500986.uom, uomUuid, lambda x_10866#5500986.uomUuid), lambda x_10866#5500986, false))).uomUuid, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10864#5500974.isOrderUnit, lambda x_10864#5500974, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5499694)), serviceLevel, coalesce(filter(element_at(quantityKpis#5500444, quantityAfterProdPlantOptimization#5499513, None, false), lambdafunction((lambda x_10873#5500975.label = ServiceLevel), lambda x_10873#5500975, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#5500935, coalesce(filter(prodLocSpecificKpis#5500416, lambdafunction((lambda x_10876#5500988.label = InitialStockQty), lambda x_10876#5500988, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#5500987, coalesce(filter(prodLocSpecificKpis#5500416, lambdafunction((lambda x_10877#5500990.label = DemandPeriodEndTimestamp), lambda x_10877#5500990, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#5500989]
Input [36]: [shardId#5499000, quantityAfterProdPlantOptimization#5499513, qty#5499514, orderProposalId#5499670L, originalReplenishmentRunId#5499673L, supplierGroup#5499680, supplier#5499681, supplyingPlant#5499711, productGroup#5499712, product#5499683, plant#5499684, subrange#5499682, orderDateTime#5499688, deliveryDateTime#5499689, availabilityDateTime#5499690, nextAvailabilityDateTime#5499691, logisticUnits#5499707, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid#5499694, splitIndicator#5499675L, netPriceAmount#5499698, netPriceCurrencyCode#5499699, netPriceQuantity#5499695, netPriceQuantityUom#5499696, netPriceQuantityUomUuid#5499697, sourceOfSupplyUuid#5499679, minimumOrderQuantity#5499701, orderProposalItemId#5499671, orderProposalItemGroupId#5499672, optimizationGroups#5499708, measurements#5499700, previousOrderProposal#5499676L, prodLocSpecificKpis#5500416, channelStreamSpecificKpis#5500431, quantityKpis#5500444, constraintStructArray#5500858]
(56) Project
Output [21]: [shardId#5499000, qty#5499514, orderProposalId#5499670L, originalReplenishmentRunId#5499673L, supplierGroup#5499680, supplier#5499681, supplyingPlant#5499711, productGroup#5499712, product#5499683, plant#5499684, subrange#5499682, orderDateTime#5499688, deliveryDateTime#5499689, logisticUnits#5499707, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid#5499694, splitIndicator#5499675L, orderProposalItemId#5499671, orderProposalItemGroupId#5499672, previousOrderProposal#5499676L, struct(supplier, supplier#5499681, supplyingPlant, supplyingPlant#5499711, productGroup, productGroup#5499712, product, product#5499683, plant, plant#5499684, supplierSubRange, subrange#5499682, sourceOfSupplyUuid, sourceOfSupplyUuid#5499679, deliveryDateTime, deliveryDateTime#5499689, unitPrice, netPriceAmount#5499698, unitPriceCurrency, netPriceCurrencyCode#5499699, unitPriceQuantity, netPriceQuantity#5499695, unitPriceQuantityUom, netPriceQuantityUom#5499696, unitPriceQuantityUomUuid, ... 31 more fields) AS parentItem#5501060]
Input [37]: [shardId#5499000, qty#5499514, orderProposalId#5499670L, originalReplenishmentRunId#5499673L, supplierGroup#5499680, supplier#5499681, supplyingPlant#5499711, productGroup#5499712, product#5499683, plant#5499684, subrange#5499682, orderDateTime#5499688, deliveryDateTime#5499689, availabilityDateTime#5499690, nextAvailabilityDateTime#5499691, logisticUnits#5499707, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid#5499694, splitIndicator#5499675L, netPriceAmount#5499698, netPriceCurrencyCode#5499699, netPriceQuantity#5499695, netPriceQuantityUom#5499696, netPriceQuantityUomUuid#5499697, sourceOfSupplyUuid#5499679, orderProposalItemId#5499671, orderProposalItemGroupId#5499672, optimizationGroups#5499708, measurements#5499700, previousOrderProposal#5499676L, prodLocSpecificKpis#5500416, channelStreamSpecificKpis#5500431, quantityKpis#5500444, constraintBenchmark#5500864, calculationAnalysis#5500935, inventoryDateTime#5500987, demandPeriodEndDateTime#5500989]
(57) Project
Output [12]: [shardId#5499000, orderProposalId#5499670L, originalReplenishmentRunId#5499673L, supplierGroup#5499680, supplier#5499681, supplyingPlant#5499711, orderDateTime#5499688, splitIndicator#5499675L, orderProposalItemGroupId#5499672, previousOrderProposal#5499676L, parentItem#5501060, struct(itemId, orderProposalItemId#5499671, supplier, supplier#5499681, supplyingPlant, supplyingPlant#5499711, productGroup, productGroup#5499712, product, product#5499683, plant, plant#5499684, supplierSubRange, subrange#5499682, deliveryDateTime, deliveryDateTime#5499689, orderQuantity, coalesce((qty#5499514 * (cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10901#5501094.isOrderUnit, lambda x_10901#5501094, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10901#5501095.isOrderUnit, lambda x_10901#5501095, false)), 1, None, false).numerator as double))), qty#5499514), orderQuantityUom, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10901#5501096.isOrderUnit, lambda x_10901#5501096, false)), 1, None, false).uom, orderQuantityBaseUom#5499693), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#5499707, lambdafunction(lambda x_10901#5501097.isOrderUnit, lambda x_10901#5501097, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5499694), orderQuantityInBaseUnit, qty#5499514, orderQuantityBaseUom, ... 13 more fields) AS item#5501091]
Input [21]: [shardId#5499000, qty#5499514, orderProposalId#5499670L, originalReplenishmentRunId#5499673L, supplierGroup#5499680, supplier#5499681, supplyingPlant#5499711, productGroup#5499712, product#5499683, plant#5499684, subrange#5499682, orderDateTime#5499688, deliveryDateTime#5499689, logisticUnits#5499707, orderQuantityBaseUom#5499693, orderQuantityBaseUomUuid#5499694, splitIndicator#5499675L, orderProposalItemId#5499671, orderProposalItemGroupId#5499672, previousOrderProposal#5499676L, parentItem#5501060]
(58) ObjectHashAggregate
Input [12]: [shardId#5499000, orderProposalId#5499670L, originalReplenishmentRunId#5499673L, supplierGroup#5499680, supplier#5499681, supplyingPlant#5499711, orderDateTime#5499688, splitIndicator#5499675L, orderProposalItemGroupId#5499672, previousOrderProposal#5499676L, parentItem#5501060, item#5501091]
Keys [4]: [shardId#5499000, orderProposalId#5499670L, splitIndicator#5499675L, orderProposalItemGroupId#5499672]
Functions [8]: [partial_max(originalReplenishmentRunId#5499673L), partial_max(supplierGroup#5499680), partial_max(supplier#5499681), partial_max(supplyingPlant#5499711), partial_max(orderDateTime#5499688), partial_collect_list(parentItem#5501060, 0, 0), partial_collect_set(previousOrderProposal#5499676L, 0, 0), partial_collect_list(item#5501091, 0, 0)]
Aggregate Attributes [8]: [max#5502342L, max#5502343, max#5502344, max#5502345, max#5502346, buf#5502347, buf#5502348, buf#5502349]
Results [12]: [shardId#5499000, orderProposalId#5499670L, splitIndicator#5499675L, orderProposalItemGroupId#5499672, max#5502350L, max#5502351, max#5502352, max#5502353, max#5502354, buf#5502355, buf#5502356, buf#5502357]
(59) Exchange
Input [12]: [shardId#5499000, orderProposalId#5499670L, splitIndicator#5499675L, orderProposalItemGroupId#5499672, max#5502350L, max#5502351, max#5502352, max#5502353, max#5502354, buf#5502355, buf#5502356, buf#5502357]
Arguments: hashpartitioning(shardId#5499000, orderProposalId#5499670L, splitIndicator#5499675L, orderProposalItemGroupId#5499672, 30), ENSURE_REQUIREMENTS, [plan_id=2854071]
(60) ObjectHashAggregate
Input [12]: [shardId#5499000, orderProposalId#5499670L, splitIndicator#5499675L, orderProposalItemGroupId#5499672, max#5502350L, max#5502351, max#5502352, max#5502353, max#5502354, buf#5502355, buf#5502356, buf#5502357]
Keys [4]: [shardId#5499000, orderProposalId#5499670L, splitIndicator#5499675L, orderProposalItemGroupId#5499672]
Functions [8]: [max(originalReplenishmentRunId#5499673L), max(supplierGroup#5499680), max(supplier#5499681), max(supplyingPlant#5499711), max(orderDateTime#5499688), collect_list(parentItem#5501060, 0, 0), collect_set(previousOrderProposal#5499676L, 0, 0), collect_list(item#5501091, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#5499673L)#5501160L, max(supplierGroup#5499680)#5501161, max(supplier#5499681)#5501162, max(supplyingPlant#5499711)#5501163, max(orderDateTime#5499688)#5501164, collect_list(parentItem#5501060, 0, 0)#5501165, collect_set(previousOrderProposal#5499676L, 0, 0)#5501167, collect_list(item#5501091, 0, 0)#5501166]
Results [10]: [shardId#5499000, orderProposalId#5499670L, max(originalReplenishmentRunId#5499673L)#5501160L AS originalReplenishmentRunId#5501108L, max(supplierGroup#5499680)#5501161 AS supplierGroup#5501109, max(supplier#5499681)#5501162 AS supplier#5501110, max(supplyingPlant#5499711)#5501163 AS supplyingPlant#5501111, max(orderDateTime#5499688)#5501164 AS orderDateTime#5501112, collect_list(parentItem#5501060, 0, 0)#5501165 AS parentItems#5501113, collect_set(previousOrderProposal#5499676L, 0, 0)#5501167 AS previousOrderProposals#5501115, struct(itemGroupId, coalesce(orderProposalItemGroupId#5499672, cast((monotonically_increasing_id() % 9999999999) as string)), items, collect_list(item#5501091, 0, 0)#5501166) AS itemGroup#5501169]
(61) ObjectHashAggregate
Input [10]: [shardId#5499000, orderProposalId#5499670L, originalReplenishmentRunId#5501108L, supplierGroup#5501109, supplier#5501110, supplyingPlant#5501111, orderDateTime#5501112, parentItems#5501113, previousOrderProposals#5501115, itemGroup#5501169]
Keys [2]: [shardId#5499000, orderProposalId#5499670L]
Functions [8]: [partial_max(originalReplenishmentRunId#5501108L), partial_max(supplierGroup#5501109), partial_max(supplier#5501110), partial_max(supplyingPlant#5501111), partial_max(orderDateTime#5501112), partial_collect_list(itemGroup#5501169, 0, 0), partial_collect_list(parentItems#5501113, 0, 0), partial_collect_set(previousOrderProposals#5501115, 0, 0)]
Aggregate Attributes [8]: [max#5502326L, max#5502327, max#5502328, max#5502329, max#5502330, buf#5502331, buf#5502332, buf#5502333]
Results [10]: [shardId#5499000, orderProposalId#5499670L, max#5502334L, max#5502335, max#5502336, max#5502337, max#5502338, buf#5502339, buf#5502340, buf#5502341]
(62) Exchange
Input [10]: [shardId#5499000, orderProposalId#5499670L, max#5502334L, max#5502335, max#5502336, max#5502337, max#5502338, buf#5502339, buf#5502340, buf#5502341]
Arguments: hashpartitioning(shardId#5499000, orderProposalId#5499670L, 30), ENSURE_REQUIREMENTS, [plan_id=2854074]
(63) ObjectHashAggregate
Input [10]: [shardId#5499000, orderProposalId#5499670L, max#5502334L, max#5502335, max#5502336, max#5502337, max#5502338, buf#5502339, buf#5502340, buf#5502341]
Keys [2]: [shardId#5499000, orderProposalId#5499670L]
Functions [8]: [max(originalReplenishmentRunId#5501108L), max(supplierGroup#5501109), max(supplier#5501110), max(supplyingPlant#5501111), max(orderDateTime#5501112), collect_list(itemGroup#5501169, 0, 0), collect_list(parentItems#5501113, 0, 0), collect_set(previousOrderProposals#5501115, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#5501108L)#5501191L, max(supplierGroup#5501109)#5501192, max(supplier#5501110)#5501193, max(supplyingPlant#5501111)#5501194, max(orderDateTime#5501112)#5501195, collect_list(itemGroup#5501169, 0, 0)#5501196, collect_list(parentItems#5501113, 0, 0)#5501197, collect_set(previousOrderProposals#5501115, 0, 0)#5501198]
Results [10]: [shardId#5499000, orderProposalId#5499670L, max(originalReplenishmentRunId#5501108L)#5501191L AS originalReplenishmentRunId#5501170L, max(supplierGroup#5501109)#5501192 AS supplierGroup#5501171, max(supplier#5501110)#5501193 AS supplier#5501172, max(supplyingPlant#5501111)#5501194 AS supplyingPlant#5501173, max(orderDateTime#5501112)#5501195 AS orderDateTime#5501174, collect_list(itemGroup#5501169, 0, 0)#5501196 AS itemGroups#5501175, flatten(collect_list(parentItems#5501113, 0, 0)#5501197) AS parentItems#5501176, flatten(collect_set(previousOrderProposals#5501115, 0, 0)#5501198) AS previousOrderProposals#5501177]
(64) Project
Output [2]: [shardId#5499000, struct(orderProposalId, orderProposalId#5499670L, originalReplenishmentRunId, originalReplenishmentRunId#5501170L, supplierGroup, supplierGroup#5501171, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#5501171) THEN supplier#5501172 END, supplyingPlant, supplyingPlant#5501173, orderDateTime, orderDateTime#5501174, itemGroups, itemGroups#5501175, previousOrderProposals, array_distinct(previousOrderProposals#5501177), parentItems, parentItems#5501176) AS orderProposal#5501202]
Input [10]: [shardId#5499000, orderProposalId#5499670L, originalReplenishmentRunId#5501170L, supplierGroup#5501171, supplier#5501172, supplyingPlant#5501173, orderDateTime#5501174, itemGroups#5501175, parentItems#5501176, previousOrderProposals#5501177]
(65) Project
Output [11]: [shardId#5499000, orderProposal#5501202.orderProposalId AS _extract_orderProposalId#5501958L, orderProposal#5501202.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#5501959L, orderProposal#5501202.supplierGroup AS _extract_supplierGroup#5501960, orderProposal#5501202.supplier AS _extract_supplier#5501961, orderProposal#5501202.supplyingPlant AS _extract_supplyingPlant#5501962, orderProposal#5501202.orderDateTime AS _extract_orderDateTime#5501963, orderProposal#5501202.itemGroups AS _extract_itemGroups#5501964, orderProposal#5501202.previousOrderProposals AS _extract_previousOrderProposals#5501965, orderProposal#5501202.parentItems AS _extract_parentItems#5501966, orderProposal#5501202.orderProposalId AS _extract_orderProposalId#5501967L]
Input [2]: [shardId#5499000, orderProposal#5501202]
(66) InMemoryTableScan
Output [3]: [shardId#5501215, orderProposalId#5501216L, optimizationGroups#5501218]
Arguments: [shardId#5501215, orderProposalId#5501216L, optimizationGroups#5501218], [isnotnull(orderProposalId#5501216L)]
(67) InMemoryRelation
Arguments: [shardId#5501215, orderProposalId#5501216L, items#5501217, optimizationGroups#5501218, isOptimal#5501219, optimizationInsights#5501221], StorageLevel(disk, memory, 2 replicas)
(68) Filter [codegen id : 2]
Input [3]: [shardId#5501215, orderProposalId#5501216L, optimizationGroups#5501218]
Condition : isnotnull(orderProposalId#5501216L)
(69) BroadcastExchange
Input [3]: [shardId#5501215, orderProposalId#5501216L, optimizationGroups#5501218]
Arguments: HashedRelationBroadcastMode(List(input[1, bigint, false]),false), [plan_id=2854081]
(70) InMemoryTableScan
Output [2]: [items#5500853, shardId#5500851]
Arguments: [items#5500853, shardId#5500851], [(size(items#5500853.worklistShardItemId, true) > 0), isnotnull(items#5500853.worklistShardItemId), (shardId#5500851 = 0_1_10000001445)]
(71) InMemoryRelation
Arguments: [shardId#5500851, orderProposalId#5500852L, items#5500853, optimizationGroups#5500854, isOptimal#5500855, optimizationInsights#5500857], StorageLevel(disk, memory, 2 replicas)
(72) Filter [codegen id : 3]
Input [2]: [items#5500853, shardId#5500851]
Condition : (((size(items#5500853.worklistShardItemId, true) > 0) AND isnotnull(items#5500853.worklistShardItemId)) AND (shardId#5500851 = 0_1_10000001445))
(73) Project [codegen id : 3]
Output [1]: [items#5500853.worklistShardItemId AS _extract_worklistShardItemId#5501863]
Input [2]: [items#5500853, shardId#5500851]
(74) Generate [codegen id : 3]
Input [1]: [_extract_worklistShardItemId#5501863]
Arguments: explode(_extract_worklistShardItemId#5501863), false, [item#5501222L]
(75) Project [codegen id : 3]
Output [1]: [item#5501222L AS worklistShardItemId#5501223L]
Input [1]: [item#5501222L]
(76) BroadcastExchange
Input [1]: [worklistShardItemId#5501223L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=2854089]
(77) Scan parquet
Output [5]: [orderProposalId#5501271L, isFallbackOrderOnly#5501288, worklistShardItemId#5501294L, shardId#5501315, sequenceId#5501293]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://332d7051-0d16-44f5-ae76-bf2dcf30365f.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000001445]
PartitionFilters: [isnotnull(shardId#5501315), isnotnull(sequenceId#5501293), (shardId#5501315 = 0_1_10000001445), (sequenceId#5501293 = 6)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(78) ColumnarToRow [codegen id : 4]
Input [5]: [orderProposalId#5501271L, isFallbackOrderOnly#5501288, worklistShardItemId#5501294L, shardId#5501315, sequenceId#5501293]
(79) Filter [codegen id : 4]
Input [5]: [orderProposalId#5501271L, isFallbackOrderOnly#5501288, worklistShardItemId#5501294L, shardId#5501315, sequenceId#5501293]
Condition : ((isnotnull(worklistShardItemId#5501294L) AND NOT (isFallbackOrderOnly#5501288 <=> true)) AND isnotnull(orderProposalId#5501271L))
(80) Project [codegen id : 4]
Output [2]: [orderProposalId#5501271L, worklistShardItemId#5501294L]
Input [5]: [orderProposalId#5501271L, isFallbackOrderOnly#5501288, worklistShardItemId#5501294L, shardId#5501315, sequenceId#5501293]
(81) Exchange
Input [2]: [orderProposalId#5501271L, worklistShardItemId#5501294L]
Arguments: hashpartitioning(worklistShardItemId#5501294L, 30), REPARTITION_BY_NUM, [plan_id=2854096]
(82) Project
Output [2]: [worklistShardItemId#5501294L, orderProposalId#5501271L]
Input [2]: [orderProposalId#5501271L, worklistShardItemId#5501294L]
(83) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#5501223L]
Right keys [1]: [worklistShardItemId#5501294L]
Join type: Inner
Join condition: None
(84) Project [codegen id : 5]
Output [1]: [orderProposalId#5501271L]
Input [3]: [worklistShardItemId#5501223L, worklistShardItemId#5501294L, orderProposalId#5501271L]
(85) HashAggregate [codegen id : 5]
Input [1]: [orderProposalId#5501271L]
Keys [1]: [orderProposalId#5501271L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#5501271L]
(86) Exchange
Input [1]: [orderProposalId#5501271L]
Arguments: hashpartitioning(orderProposalId#5501271L, 30), ENSURE_REQUIREMENTS, [plan_id=2854103]
(87) HashAggregate
Input [1]: [orderProposalId#5501271L]
Keys [1]: [orderProposalId#5501271L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#5501271L]
(88) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [orderProposalId#5501216L]
Right keys [1]: [orderProposalId#5501271L]
Join type: Inner
Join condition: None
(89) Project
Output [3]: [orderProposalId#5501216L, shardId#5501215, coalesce(transform(optimizationGroups#5501218, lambdafunction(struct(optGroupId, lambda x_10905#5501213.optGroupId, minOrderProfile, lambda x_10905#5501213.minOrderProfile, assignmentDetails, lambda x_10905#5501213.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_10905#5501213.minOrderGoal.dimensionType, unit, lambda x_10905#5501213.minOrderGoal.unit, unitUuid, lambda x_10905#5501213.minOrderGoal.unitUuid, goalValue, lambda x_10905#5501213.minOrderGoal.minOrderValue, calcValue, lambda x_10905#5501213.minOrderGoal.calculatedOrderValue)), lambda x_10905#5501213, false)), []) AS optimizationGroups#5501212]
Input [4]: [shardId#5501215, orderProposalId#5501216L, optimizationGroups#5501218, orderProposalId#5501271L]
(90) BroadcastExchange
Input [3]: [orderProposalId#5501216L, shardId#5501215, optimizationGroups#5501212]
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=2854109]
(91) BroadcastHashJoin
Left keys [4]: [coalesce(shardId#5499000, ), isnull(shardId#5499000), coalesce(_extract_orderProposalId#5501967L, 0), isnull(_extract_orderProposalId#5501967L)]
Right keys [4]: [coalesce(shardId#5501215, ), isnull(shardId#5501215), coalesce(orderProposalId#5501216L, 0), isnull(orderProposalId#5501216L)]
Join type: LeftOuter
Join condition: None
(92) Project
Output [2]: [shardId#5499000, named_struct(orderProposalId, _extract_orderProposalId#5501967L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#5501959L, supplierGroup, _extract_supplierGroup#5501960, optimizationGroups, coalesce(optimizationGroups#5501212, []), supplier, _extract_supplier#5501961, supplyingPlant, _extract_supplyingPlant#5501962, orderDateTime, _extract_orderDateTime#5501963, itemGroups, _extract_itemGroups#5501964, previousOrderProposals, _extract_previousOrderProposals#5501965, parentItems, _extract_parentItems#5501966) AS orderProposal#5501319]
Input [14]: [shardId#5499000, _extract_orderProposalId#5501958L, _extract_originalReplenishmentRunId#5501959L, _extract_supplierGroup#5501960, _extract_supplier#5501961, _extract_supplyingPlant#5501962, _extract_orderDateTime#5501963, _extract_itemGroups#5501964, _extract_previousOrderProposals#5501965, _extract_parentItems#5501966, _extract_orderProposalId#5501967L, orderProposalId#5501216L, shardId#5501215, optimizationGroups#5501212]
(93) Project
Output [3]: [shardId#5499000, orderProposal#5501319, CASE WHEN (size(orderProposal#5501319.parentItems, true) > 2000) THEN xxhash64(orderProposal#5501319.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#5501319.orderProposalId as decimal(20,0)), 0), 42) END AS resultSeparationId#5503055L]
Input [2]: [orderProposal#5501319, shardId#5499000]
(94) ObjectHashAggregate
Input [3]: [shardId#5499000, orderProposal#5501319, resultSeparationId#5503055L]
Keys [2]: [shardId#5499000, resultSeparationId#5503055L]
Functions [1]: [partial_collect_list(orderProposal#5501319, 0, 0)]
Aggregate Attributes [1]: [buf#5503094]
Results [3]: [shardId#5499000, resultSeparationId#5503055L, buf#5503095]
(95) Exchange
Input [3]: [shardId#5499000, resultSeparationId#5503055L, buf#5503095]
Arguments: hashpartitioning(shardId#5499000, resultSeparationId#5503055L, 30), ENSURE_REQUIREMENTS, [plan_id=2854244]
(96) ObjectHashAggregate
Input [3]: [shardId#5499000, resultSeparationId#5503055L, buf#5503095]
Keys [2]: [shardId#5499000, resultSeparationId#5503055L]
Functions [1]: [collect_list(orderProposal#5501319, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#5501319, 0, 0)#5503063]
Results [3]: [shardId#5499000, resultSeparationId#5503055L, collect_list(orderProposal#5501319, 0, 0)#5503063 AS orderProposals#5503059]
(97) HashAggregate [codegen id : 1]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#5503172L]
Results [1]: [count#5503173L]
(98) Exchange
Input [1]: [count#5503173L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=2854268]
(99) HashAggregate [codegen id : 2]
Input [1]: [count#5503173L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#5503126L]
Results [1]: [count(1)#5503126L AS count#5503122L]