== Physical Plan ==
Execute InsertIntoHadoopFsRelationCommand (111)
+- WriteFiles (110)
+- Sort (109)
+- Project (108)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- Project (107)
+- Exchange (106)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- ObjectHashAggregate (105)
+- Exchange (104)
+- ObjectHashAggregate (103)
+- Project (102)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- Project (101)
+- SortMergeJoin LeftOuter (100)
:- Sort (71)
: +- Exchange (70)
: +- Project (69)
: +- Project (68)
: +- ObjectHashAggregate (67)
: +- Exchange (66)
: +- ObjectHashAggregate (65)
: +- ObjectHashAggregate (64)
: +- Exchange (63)
: +- ObjectHashAggregate (62)
: +- Project (61)
: +- Project (60)
: +- Project (59)
: +- * Project (58)
: +- * Filter (57)
: +- InMemoryTableScan (7)
: +- InMemoryRelation (8)
: +- * Project (56)
: +- * SortMergeJoin LeftOuter (55)
: :- * Project (47)
: : +- * SortMergeJoin LeftOuter (46)
: : :- * Project (38)
: : : +- * SortMergeJoin LeftOuter (37)
: : : :- * Sort (31)
: : : : +- Exchange (30)
: : : : +- * Project (29)
: : : : +- * SortMergeJoin LeftOuter (28)
: : : : :- * Sort (20)
: : : : : +- Exchange (19)
: : : : : +- * Project (18)
: : : : : +- * Generate (17)
: : : : : +- * Filter (16)
: : : : : +- InMemoryTableScan (9)
: : : : : +- InMemoryRelation (10)
: : : : : +- * Filter (15)
: : : : : +- InMemoryTableScan (11)
: : : : : +- InMemoryRelation (12)
: : : : : +- * Filter (14)
: : : : : +- * Scan ExistingRDD (13)
: : : : +- * Sort (27)
: : : : +- * Project (26)
: : : : +- Exchange (25)
: : : : +- * Project (24)
: : : : +- * Filter (23)
: : : : +- * ColumnarToRow (22)
: : : : +- Scan parquet (21)
: : : +- * Sort (36)
: : : +- Exchange (35)
: : : +- * Project (34)
: : : +- * Filter (33)
: : : +- * Scan ExistingRDD (32)
: : +- * Sort (45)
: : +- ObjectHashAggregate (44)
: : +- Exchange (43)
: : +- ObjectHashAggregate (42)
: : +- * Project (41)
: : +- * Filter (40)
: : +- * Scan ExistingRDD (39)
: +- * Sort (54)
: +- ObjectHashAggregate (53)
: +- Exchange (52)
: +- ObjectHashAggregate (51)
: +- * Project (50)
: +- * Filter (49)
: +- * Scan ExistingRDD (48)
+- * Sort (99)
+- Exchange (98)
+- Project (97)
+- * SortMergeJoin Inner (96)
:- * Sort (76)
: +- Exchange (75)
: +- * Filter (74)
: +- InMemoryTableScan (72)
: +- InMemoryRelation (73)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * Sort (95)
+- * HashAggregate (94)
+- Exchange (93)
+- * HashAggregate (92)
+- * Project (91)
+- * BroadcastHashJoin Inner BuildLeft (90)
:- BroadcastExchange (83)
: +- * Project (82)
: +- * Generate (81)
: +- * Project (80)
: +- * Filter (79)
: +- InMemoryTableScan (77)
: +- InMemoryRelation (78)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * Project (89)
+- Exchange (88)
+- * Project (87)
+- * Filter (86)
+- * ColumnarToRow (85)
+- Scan parquet (84)
(1) InMemoryTableScan
Output [2]: [orderProposals#3333335, shardId#3322291]
Arguments: [orderProposals#3333335, shardId#3322291]
(2) InMemoryRelation
Arguments: [shardId#3322291, orderProposals#3333335], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#3322291, resultSeparationId#3333331L, orderProposals#3333335]
Arguments: [shardId#3322291, resultSeparationId#3333331L, orderProposals#3333335]
(4) InMemoryRelation
Arguments: [shardId#3322291, resultSeparationId#3333331L, orderProposals#3333335], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#3327767, shardId#3322291]
Arguments: [orderProposal#3327767, shardId#3322291]
(6) InMemoryRelation
Arguments: [shardId#3322291, orderProposal#3327767], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#3322981, channelStreamSpecificKpis#3325900, constraintLabels#3322993, constraintOperators#3322994, constraintValues#3322996, deliveryDateTime#3322980, isFallbackOrderOnly#3322983, logisticUnits#3322998, measurements#3322991, minimumOrderQuantity#3322992, netPriceAmount#3322989, netPriceCurrencyCode#3322990, netPriceQuantity#3322986, netPriceQuantityUom#3322987, netPriceQuantityUomUuid#3322988, nextAvailabilityDateTime#3322982, optimizationGroups#3322999, orderDateTime#3322979, orderProposalId#3322961L, orderProposalItemGroupId#3322963, orderProposalItemId#3322962, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid#3322985, originalReplenishmentRunId#3322964L, plant#3322975, previousOrderProposal#3322967L, prodLocSpecificKpis#3325885, product#3322974, productGroup#3323003, qty#3322805, quantityAfterProdPlantOptimization#3322804, quantityKpis#3325913, shardId#3322291, sourceOfSupplyUuid#3322970, splitIndicator#3322966L, subrange#3322973, supplier#3322972, supplierGroup#3322971, supplyingPlant#3323002]
Arguments: [availabilityDateTime#3322981, channelStreamSpecificKpis#3325900, constraintLabels#3322993, constraintOperators#3322994, constraintValues#3322996, deliveryDateTime#3322980, isFallbackOrderOnly#3322983, logisticUnits#3322998, measurements#3322991, minimumOrderQuantity#3322992, netPriceAmount#3322989, netPriceCurrencyCode#3322990, netPriceQuantity#3322986, netPriceQuantityUom#3322987, netPriceQuantityUomUuid#3322988, nextAvailabilityDateTime#3322982, optimizationGroups#3322999, orderDateTime#3322979, orderProposalId#3322961L, orderProposalItemGroupId#3322963, orderProposalItemId#3322962, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid#3322985, originalReplenishmentRunId#3322964L, plant#3322975, ... 14 more fields], [NOT (isFallbackOrderOnly#3322983 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3322961L, originalReplenishmentRunId#3322964L, supplierGroup#3322971, supplier#3322972, supplyingPlant#3323002, productGroup#3323003, product#3322974, plant#3322975, subrange#3322973, orderDateTime#3322979, deliveryDateTime#3322980, availabilityDateTime#3322981, nextAvailabilityDateTime#3322982, constraintValues#3322996, constraintOperators#3322994, constraintLabels#3322993, logisticUnits#3322998, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid#3322985, splitIndicator#3322966L, netPriceAmount#3322989, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#3322291, items#3322293]
Arguments: [shardId#3322291, items#3322293], [(size(items#3322293, true) > 0), isnotnull(items#3322293)]
(10) InMemoryRelation
Arguments: [shardId#3322291, orderProposalId#3322292L, items#3322293, optimizationGroups#3322294, isOptimal#3322295, optimizationInsights#3322297], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#3322291, orderProposalId#3322292L, items#3322293, optimizationGroups#3322294, isOptimal#3322295, optimizationInsights#3322297]
Arguments: [shardId#3322291, orderProposalId#3322292L, items#3322293, optimizationGroups#3322294, isOptimal#3322295, optimizationInsights#3322297], [isnotnull(shardId#3322291), (shardId#3322291 = 0_6_10000000532)]
(12) InMemoryRelation
Arguments: [shardId#3322291, orderProposalId#3322292L, items#3322293, optimizationGroups#3322294, isOptimal#3322295, lastModified#3322296, optimizationInsights#3322297], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#3322291, orderProposalId#3322292L, items#3322293, optimizationGroups#3322294, isOptimal#3322295, lastModified#3322296, optimizationInsights#3322297]
Arguments: [shardId#3322291, orderProposalId#3322292L, items#3322293, optimizationGroups#3322294, isOptimal#3322295, lastModified#3322296, optimizationInsights#3322297], MapPartitionsRDD[140841] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#3322291, orderProposalId#3322292L, items#3322293, optimizationGroups#3322294, isOptimal#3322295, lastModified#3322296, optimizationInsights#3322297]
Condition : (isnotnull(shardId#3322291) AND (shardId#3322291 = 0_6_10000000532))
(15) Filter [codegen id : 1]
Input [6]: [shardId#3322291, orderProposalId#3322292L, items#3322293, optimizationGroups#3322294, isOptimal#3322295, optimizationInsights#3322297]
Condition : (isnotnull(shardId#3322291) AND (shardId#3322291 = 0_6_10000000532))
(16) Filter [codegen id : 1]
Input [2]: [shardId#3322291, items#3322293]
Condition : ((size(items#3322293, true) > 0) AND isnotnull(items#3322293))
(17) Generate [codegen id : 1]
Input [2]: [shardId#3322291, items#3322293]
Arguments: explode(items#3322293), [shardId#3322291], false, [item#3322802]
(18) Project [codegen id : 1]
Output [4]: [shardId#3322291, item#3322802.worklistShardItemId AS worklistShardItemId#3322803L, item#3322802.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#3322804, item#3322802.qty AS qty#3322805]
Input [2]: [shardId#3322291, item#3322802]
(19) Exchange
Input [4]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805]
Arguments: hashpartitioning(worklistShardItemId#3322803L, 30), ENSURE_REQUIREMENTS, [plan_id=958603]
(20) Sort [codegen id : 2]
Input [4]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805]
Arguments: [worklistShardItemId#3322803L ASC NULLS FIRST], false, 0
(21) Scan parquet
Output [38]: [orderProposalId#3323077L, orderProposalItemId#3323078, supplierGroup#3323079, supplier#3323080, plant#3323081, deliveryDateTime#3323082, subrange#3323083, supplyingPlant#3323084, productGroup#3323085, product#3323086, orderDateTime#3323087, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, sourceOfSupplyUuid#3323091, isFallbackOrderOnly#3323094, splitIndicator#3323096L, previousOrderProposal#3323097L, worklistShardItemId#3323100L, orderProposalItemGroupId#3323101, externalProductId#3323102, externalPlantId#3323103, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, minimumOrderQuantity#3323107, constraintLabels#3323108, constraintOperators#3323109, constraintValues#3323110, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, measurements#3323118, originalReplenishmentRunId#3323119L, optimizationGroups#3323120, shardId#3323121, sequenceId#3323099]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000000532]
PartitionFilters: [isnotnull(shardId#3323121), isnotnull(sequenceId#3323099), (shardId#3323121 = 0_6_10000000532), (sequenceId#3323099 = 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>>
(22) ColumnarToRow [codegen id : 3]
Input [38]: [orderProposalId#3323077L, orderProposalItemId#3323078, supplierGroup#3323079, supplier#3323080, plant#3323081, deliveryDateTime#3323082, subrange#3323083, supplyingPlant#3323084, productGroup#3323085, product#3323086, orderDateTime#3323087, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, sourceOfSupplyUuid#3323091, isFallbackOrderOnly#3323094, splitIndicator#3323096L, previousOrderProposal#3323097L, worklistShardItemId#3323100L, orderProposalItemGroupId#3323101, externalProductId#3323102, externalPlantId#3323103, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, minimumOrderQuantity#3323107, constraintLabels#3323108, constraintOperators#3323109, constraintValues#3323110, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, measurements#3323118, originalReplenishmentRunId#3323119L, optimizationGroups#3323120, shardId#3323121, sequenceId#3323099]
(23) Filter [codegen id : 3]
Input [38]: [orderProposalId#3323077L, orderProposalItemId#3323078, supplierGroup#3323079, supplier#3323080, plant#3323081, deliveryDateTime#3323082, subrange#3323083, supplyingPlant#3323084, productGroup#3323085, product#3323086, orderDateTime#3323087, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, sourceOfSupplyUuid#3323091, isFallbackOrderOnly#3323094, splitIndicator#3323096L, previousOrderProposal#3323097L, worklistShardItemId#3323100L, orderProposalItemGroupId#3323101, externalProductId#3323102, externalPlantId#3323103, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, minimumOrderQuantity#3323107, constraintLabels#3323108, constraintOperators#3323109, constraintValues#3323110, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, measurements#3323118, originalReplenishmentRunId#3323119L, optimizationGroups#3323120, shardId#3323121, sequenceId#3323099]
Condition : isnotnull(worklistShardItemId#3323100L)
(24) Project [codegen id : 3]
Output [36]: [orderProposalId#3323077L, orderProposalItemId#3323078, supplierGroup#3323079, supplier#3323080, plant#3323081, deliveryDateTime#3323082, subrange#3323083, supplyingPlant#3323084, productGroup#3323085, product#3323086, orderDateTime#3323087, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, sourceOfSupplyUuid#3323091, isFallbackOrderOnly#3323094, splitIndicator#3323096L, previousOrderProposal#3323097L, worklistShardItemId#3323100L, orderProposalItemGroupId#3323101, externalProductId#3323102, externalPlantId#3323103, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, minimumOrderQuantity#3323107, constraintLabels#3323108, constraintOperators#3323109, constraintValues#3323110, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, measurements#3323118, originalReplenishmentRunId#3323119L, optimizationGroups#3323120]
Input [38]: [orderProposalId#3323077L, orderProposalItemId#3323078, supplierGroup#3323079, supplier#3323080, plant#3323081, deliveryDateTime#3323082, subrange#3323083, supplyingPlant#3323084, productGroup#3323085, product#3323086, orderDateTime#3323087, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, sourceOfSupplyUuid#3323091, isFallbackOrderOnly#3323094, splitIndicator#3323096L, previousOrderProposal#3323097L, worklistShardItemId#3323100L, orderProposalItemGroupId#3323101, externalProductId#3323102, externalPlantId#3323103, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, minimumOrderQuantity#3323107, constraintLabels#3323108, constraintOperators#3323109, constraintValues#3323110, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, measurements#3323118, originalReplenishmentRunId#3323119L, optimizationGroups#3323120, shardId#3323121, sequenceId#3323099]
(25) Exchange
Input [36]: [orderProposalId#3323077L, orderProposalItemId#3323078, supplierGroup#3323079, supplier#3323080, plant#3323081, deliveryDateTime#3323082, subrange#3323083, supplyingPlant#3323084, productGroup#3323085, product#3323086, orderDateTime#3323087, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, sourceOfSupplyUuid#3323091, isFallbackOrderOnly#3323094, splitIndicator#3323096L, previousOrderProposal#3323097L, worklistShardItemId#3323100L, orderProposalItemGroupId#3323101, externalProductId#3323102, externalPlantId#3323103, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, minimumOrderQuantity#3323107, constraintLabels#3323108, constraintOperators#3323109, constraintValues#3323110, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, measurements#3323118, originalReplenishmentRunId#3323119L, optimizationGroups#3323120]
Arguments: hashpartitioning(worklistShardItemId#3323100L, 30), REPARTITION_BY_NUM, [plan_id=958613]
(26) Project [codegen id : 4]
Output [36]: [worklistShardItemId#3323100L, orderProposalId#3323077L, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, originalReplenishmentRunId#3323119L, splitIndicator#3323096L, previousOrderProposal#3323097L, sourceOfSupplyUuid#3323091, supplierGroup#3323079, supplier#3323080, subrange#3323083, product#3323086, plant#3323081, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, isFallbackOrderOnly#3323094, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, netPriceAmount#3323113, netPriceCurrencyCode#3323114, measurements#3323118, minimumOrderQuantity#3323107, constraintLabels#3323108, constraintOperators#3323109, constraintValues#3323110, logisticUnits#3323104, optimizationGroups#3323120, externalProductId#3323102, externalPlantId#3323103, supplyingPlant#3323084, productGroup#3323085]
Input [36]: [orderProposalId#3323077L, orderProposalItemId#3323078, supplierGroup#3323079, supplier#3323080, plant#3323081, deliveryDateTime#3323082, subrange#3323083, supplyingPlant#3323084, productGroup#3323085, product#3323086, orderDateTime#3323087, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, sourceOfSupplyUuid#3323091, isFallbackOrderOnly#3323094, splitIndicator#3323096L, previousOrderProposal#3323097L, worklistShardItemId#3323100L, orderProposalItemGroupId#3323101, externalProductId#3323102, externalPlantId#3323103, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, minimumOrderQuantity#3323107, constraintLabels#3323108, constraintOperators#3323109, constraintValues#3323110, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, measurements#3323118, originalReplenishmentRunId#3323119L, optimizationGroups#3323120]
(27) Sort [codegen id : 4]
Input [36]: [worklistShardItemId#3323100L, orderProposalId#3323077L, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, originalReplenishmentRunId#3323119L, splitIndicator#3323096L, previousOrderProposal#3323097L, sourceOfSupplyUuid#3323091, supplierGroup#3323079, supplier#3323080, subrange#3323083, product#3323086, plant#3323081, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, isFallbackOrderOnly#3323094, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, netPriceAmount#3323113, netPriceCurrencyCode#3323114, measurements#3323118, minimumOrderQuantity#3323107, constraintLabels#3323108, constraintOperators#3323109, constraintValues#3323110, logisticUnits#3323104, optimizationGroups#3323120, externalProductId#3323102, externalPlantId#3323103, supplyingPlant#3323084, productGroup#3323085]
Arguments: [worklistShardItemId#3323100L ASC NULLS FIRST], false, 0
(28) SortMergeJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#3322803L]
Right keys [1]: [worklistShardItemId#3323100L]
Join type: LeftOuter
Join condition: (shardId#3322291 = 0_6_10000000532)
(29) Project [codegen id : 5]
Output [39]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3323077L, originalReplenishmentRunId#3323119L, supplierGroup#3323079, supplier#3323080, supplyingPlant#3323084, productGroup#3323085, product#3323086, plant#3323081, subrange#3323083, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, constraintValues#3323110, constraintOperators#3323109, constraintLabels#3323108, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, splitIndicator#3323096L, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, sourceOfSupplyUuid#3323091, minimumOrderQuantity#3323107, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, optimizationGroups#3323120, measurements#3323118, externalProductId#3323102, externalPlantId#3323103, previousOrderProposal#3323097L, isFallbackOrderOnly#3323094]
Input [40]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805, worklistShardItemId#3323100L, orderProposalId#3323077L, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, originalReplenishmentRunId#3323119L, splitIndicator#3323096L, previousOrderProposal#3323097L, sourceOfSupplyUuid#3323091, supplierGroup#3323079, supplier#3323080, subrange#3323083, product#3323086, plant#3323081, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, isFallbackOrderOnly#3323094, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, netPriceAmount#3323113, netPriceCurrencyCode#3323114, measurements#3323118, minimumOrderQuantity#3323107, constraintLabels#3323108, constraintOperators#3323109, constraintValues#3323110, logisticUnits#3323104, optimizationGroups#3323120, externalProductId#3323102, externalPlantId#3323103, supplyingPlant#3323084, productGroup#3323085]
(30) Exchange
Input [39]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3323077L, originalReplenishmentRunId#3323119L, supplierGroup#3323079, supplier#3323080, supplyingPlant#3323084, productGroup#3323085, product#3323086, plant#3323081, subrange#3323083, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, constraintValues#3323110, constraintOperators#3323109, constraintLabels#3323108, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, splitIndicator#3323096L, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, sourceOfSupplyUuid#3323091, minimumOrderQuantity#3323107, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, optimizationGroups#3323120, measurements#3323118, externalProductId#3323102, externalPlantId#3323103, previousOrderProposal#3323097L, isFallbackOrderOnly#3323094]
Arguments: hashpartitioning(shardId#3322291, worklistShardItemId#3322803L, 30), ENSURE_REQUIREMENTS, [plan_id=958622]
(31) Sort [codegen id : 6]
Input [39]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3323077L, originalReplenishmentRunId#3323119L, supplierGroup#3323079, supplier#3323080, supplyingPlant#3323084, productGroup#3323085, product#3323086, plant#3323081, subrange#3323083, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, constraintValues#3323110, constraintOperators#3323109, constraintLabels#3323108, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, splitIndicator#3323096L, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, sourceOfSupplyUuid#3323091, minimumOrderQuantity#3323107, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, optimizationGroups#3323120, measurements#3323118, externalProductId#3323102, externalPlantId#3323103, previousOrderProposal#3323097L, isFallbackOrderOnly#3323094]
Arguments: [shardId#3322291 ASC NULLS FIRST, worklistShardItemId#3322803L ASC NULLS FIRST], false, 0
(32) Scan ExistingRDD [codegen id : 7]
Output [6]: [shardId#3325878, worklistShardItemId#3325879L, qty#3325880, demandChannel#3325881, demandStream#3325882, kpis#3325883]
Arguments: [shardId#3325878, worklistShardItemId#3325879L, qty#3325880, demandChannel#3325881, demandStream#3325882, kpis#3325883], MapPartitionsRDD[141061] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(33) Filter [codegen id : 7]
Input [6]: [shardId#3325878, worklistShardItemId#3325879L, qty#3325880, demandChannel#3325881, demandStream#3325882, kpis#3325883]
Condition : (((isnull(qty#3325880) AND isnull(demandChannel#3325881)) AND isnull(demandStream#3325882)) AND (isnotnull(shardId#3325878) AND isnotnull(worklistShardItemId#3325879L)))
(34) Project [codegen id : 7]
Output [3]: [shardId#3325878, worklistShardItemId#3325879L, coalesce(kpis#3325883, []) AS prodLocSpecificKpis#3325884]
Input [6]: [shardId#3325878, worklistShardItemId#3325879L, qty#3325880, demandChannel#3325881, demandStream#3325882, kpis#3325883]
(35) Exchange
Input [3]: [shardId#3325878, worklistShardItemId#3325879L, prodLocSpecificKpis#3325884]
Arguments: hashpartitioning(shardId#3325878, worklistShardItemId#3325879L, 30), ENSURE_REQUIREMENTS, [plan_id=958628]
(36) Sort [codegen id : 8]
Input [3]: [shardId#3325878, worklistShardItemId#3325879L, prodLocSpecificKpis#3325884]
Arguments: [shardId#3325878 ASC NULLS FIRST, worklistShardItemId#3325879L ASC NULLS FIRST], false, 0
(37) SortMergeJoin [codegen id : 9]
Left keys [2]: [shardId#3322291, worklistShardItemId#3322803L]
Right keys [2]: [shardId#3325878, worklistShardItemId#3325879L]
Join type: LeftOuter
Join condition: None
(38) Project [codegen id : 9]
Output [40]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3323077L, originalReplenishmentRunId#3323119L, supplierGroup#3323079, supplier#3323080, supplyingPlant#3323084, productGroup#3323085, product#3323086, plant#3323081, subrange#3323083, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, constraintValues#3323110, constraintOperators#3323109, constraintLabels#3323108, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, splitIndicator#3323096L, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, sourceOfSupplyUuid#3323091, minimumOrderQuantity#3323107, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, optimizationGroups#3323120, measurements#3323118, externalProductId#3323102, externalPlantId#3323103, previousOrderProposal#3323097L, isFallbackOrderOnly#3323094, coalesce(prodLocSpecificKpis#3325884, []) AS prodLocSpecificKpis#3325885]
Input [42]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3323077L, originalReplenishmentRunId#3323119L, supplierGroup#3323079, supplier#3323080, supplyingPlant#3323084, productGroup#3323085, product#3323086, plant#3323081, subrange#3323083, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, constraintValues#3323110, constraintOperators#3323109, constraintLabels#3323108, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, splitIndicator#3323096L, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, sourceOfSupplyUuid#3323091, minimumOrderQuantity#3323107, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, optimizationGroups#3323120, measurements#3323118, externalProductId#3323102, externalPlantId#3323103, previousOrderProposal#3323097L, isFallbackOrderOnly#3323094, shardId#3325878, worklistShardItemId#3325879L, prodLocSpecificKpis#3325884]
(39) Scan ExistingRDD [codegen id : 10]
Output [6]: [shardId#3325894, worklistShardItemId#3325895L, qty#3325896, demandChannel#3325897, demandStream#3325898, kpis#3325899]
Arguments: [shardId#3325894, worklistShardItemId#3325895L, qty#3325896, demandChannel#3325897, demandStream#3325898, kpis#3325899], MapPartitionsRDD[141061] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(40) Filter [codegen id : 10]
Input [6]: [shardId#3325894, worklistShardItemId#3325895L, qty#3325896, demandChannel#3325897, demandStream#3325898, kpis#3325899]
Condition : ((((isnull(qty#3325896) AND isnotnull(demandChannel#3325897)) AND isnotnull(demandStream#3325898)) AND (size(kpis#3325899, true) > 0)) AND (isnotnull(shardId#3325894) AND isnotnull(worklistShardItemId#3325895L)))
(41) Project [codegen id : 10]
Output [5]: [shardId#3325894, worklistShardItemId#3325895L, demandChannel#3325897, demandStream#3325898, kpis#3325899]
Input [6]: [shardId#3325894, worklistShardItemId#3325895L, qty#3325896, demandChannel#3325897, demandStream#3325898, kpis#3325899]
(42) ObjectHashAggregate
Input [5]: [shardId#3325894, worklistShardItemId#3325895L, demandChannel#3325897, demandStream#3325898, kpis#3325899]
Keys [2]: [shardId#3325894, worklistShardItemId#3325895L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#3325897, demandStream, demandStream#3325898, kpis, kpis#3325899), 0, 0)]
Aggregate Attributes [1]: [buf#3327044]
Results [3]: [shardId#3325894, worklistShardItemId#3325895L, buf#3327045]
(43) Exchange
Input [3]: [shardId#3325894, worklistShardItemId#3325895L, buf#3327045]
Arguments: hashpartitioning(shardId#3325894, worklistShardItemId#3325895L, 30), ENSURE_REQUIREMENTS, [plan_id=958639]
(44) ObjectHashAggregate
Input [3]: [shardId#3325894, worklistShardItemId#3325895L, buf#3327045]
Keys [2]: [shardId#3325894, worklistShardItemId#3325895L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#3325897, demandStream, demandStream#3325898, kpis, kpis#3325899), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#3325897, demandStream, demandStream#3325898, kpis, kpis#3325899), 0, 0)#3325893]
Results [3]: [shardId#3325894, worklistShardItemId#3325895L, collect_list(struct(demandChannel, demandChannel#3325897, demandStream, demandStream#3325898, kpis, kpis#3325899), 0, 0)#3325893 AS channelStreamSpecificKpis#3325886]
(45) Sort [codegen id : 11]
Input [3]: [shardId#3325894, worklistShardItemId#3325895L, channelStreamSpecificKpis#3325886]
Arguments: [shardId#3325894 ASC NULLS FIRST, worklistShardItemId#3325895L ASC NULLS FIRST], false, 0
(46) SortMergeJoin [codegen id : 12]
Left keys [2]: [shardId#3322291, worklistShardItemId#3322803L]
Right keys [2]: [shardId#3325894, worklistShardItemId#3325895L]
Join type: LeftOuter
Join condition: None
(47) Project [codegen id : 12]
Output [41]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3323077L, originalReplenishmentRunId#3323119L, supplierGroup#3323079, supplier#3323080, supplyingPlant#3323084, productGroup#3323085, product#3323086, plant#3323081, subrange#3323083, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, constraintValues#3323110, constraintOperators#3323109, constraintLabels#3323108, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, splitIndicator#3323096L, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, sourceOfSupplyUuid#3323091, minimumOrderQuantity#3323107, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, optimizationGroups#3323120, measurements#3323118, externalProductId#3323102, externalPlantId#3323103, previousOrderProposal#3323097L, isFallbackOrderOnly#3323094, prodLocSpecificKpis#3325885, coalesce(channelStreamSpecificKpis#3325886, []) AS channelStreamSpecificKpis#3325900]
Input [43]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3323077L, originalReplenishmentRunId#3323119L, supplierGroup#3323079, supplier#3323080, supplyingPlant#3323084, productGroup#3323085, product#3323086, plant#3323081, subrange#3323083, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, constraintValues#3323110, constraintOperators#3323109, constraintLabels#3323108, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, splitIndicator#3323096L, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, sourceOfSupplyUuid#3323091, minimumOrderQuantity#3323107, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, optimizationGroups#3323120, measurements#3323118, externalProductId#3323102, externalPlantId#3323103, previousOrderProposal#3323097L, isFallbackOrderOnly#3323094, prodLocSpecificKpis#3325885, shardId#3325894, worklistShardItemId#3325895L, channelStreamSpecificKpis#3325886]
(48) Scan ExistingRDD [codegen id : 13]
Output [6]: [shardId#3325907, worklistShardItemId#3325908L, qty#3325909, demandChannel#3325910, demandStream#3325911, kpis#3325912]
Arguments: [shardId#3325907, worklistShardItemId#3325908L, qty#3325909, demandChannel#3325910, demandStream#3325911, kpis#3325912], MapPartitionsRDD[141061] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(49) Filter [codegen id : 13]
Input [6]: [shardId#3325907, worklistShardItemId#3325908L, qty#3325909, demandChannel#3325910, demandStream#3325911, kpis#3325912]
Condition : ((isnotnull(qty#3325909) AND isnotnull(kpis#3325912)) AND (isnotnull(shardId#3325907) AND isnotnull(worklistShardItemId#3325908L)))
(50) Project [codegen id : 13]
Output [4]: [shardId#3325907, worklistShardItemId#3325908L, qty#3325909, kpis#3325912]
Input [6]: [shardId#3325907, worklistShardItemId#3325908L, qty#3325909, demandChannel#3325910, demandStream#3325911, kpis#3325912]
(51) ObjectHashAggregate
Input [4]: [shardId#3325907, worklistShardItemId#3325908L, qty#3325909, kpis#3325912]
Keys [2]: [shardId#3325907, worklistShardItemId#3325908L]
Functions [1]: [partial_collect_list(struct(qty, qty#3325909, kpis, kpis#3325912), 0, 0)]
Aggregate Attributes [1]: [buf#3327046]
Results [3]: [shardId#3325907, worklistShardItemId#3325908L, buf#3327047]
(52) Exchange
Input [3]: [shardId#3325907, worklistShardItemId#3325908L, buf#3327047]
Arguments: hashpartitioning(shardId#3325907, worklistShardItemId#3325908L, 30), ENSURE_REQUIREMENTS, [plan_id=958651]
(53) ObjectHashAggregate
Input [3]: [shardId#3325907, worklistShardItemId#3325908L, buf#3327047]
Keys [2]: [shardId#3325907, worklistShardItemId#3325908L]
Functions [1]: [collect_list(struct(qty, qty#3325909, kpis, kpis#3325912), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#3325909, kpis, kpis#3325912), 0, 0)#3325906]
Results [3]: [shardId#3325907, worklistShardItemId#3325908L, map_from_entries(collect_list(struct(qty, qty#3325909, kpis, kpis#3325912), 0, 0)#3325906) AS quantityKpis#3325901]
(54) Sort [codegen id : 14]
Input [3]: [shardId#3325907, worklistShardItemId#3325908L, quantityKpis#3325901]
Arguments: [shardId#3325907 ASC NULLS FIRST, worklistShardItemId#3325908L ASC NULLS FIRST], false, 0
(55) SortMergeJoin [codegen id : 15]
Left keys [2]: [shardId#3322291, worklistShardItemId#3322803L]
Right keys [2]: [shardId#3325907, worklistShardItemId#3325908L]
Join type: LeftOuter
Join condition: None
(56) Project [codegen id : 15]
Output [42]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3323077L, originalReplenishmentRunId#3323119L, supplierGroup#3323079, supplier#3323080, supplyingPlant#3323084, productGroup#3323085, product#3323086, plant#3323081, subrange#3323083, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, constraintValues#3323110, constraintOperators#3323109, constraintLabels#3323108, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, splitIndicator#3323096L, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, sourceOfSupplyUuid#3323091, minimumOrderQuantity#3323107, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, optimizationGroups#3323120, measurements#3323118, externalProductId#3323102, externalPlantId#3323103, previousOrderProposal#3323097L, isFallbackOrderOnly#3323094, prodLocSpecificKpis#3325885, channelStreamSpecificKpis#3325900, coalesce(quantityKpis#3325901, map(keys: [], values: [])) AS quantityKpis#3325913]
Input [44]: [shardId#3322291, worklistShardItemId#3322803L, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3323077L, originalReplenishmentRunId#3323119L, supplierGroup#3323079, supplier#3323080, supplyingPlant#3323084, productGroup#3323085, product#3323086, plant#3323081, subrange#3323083, orderDateTime#3323087, deliveryDateTime#3323082, availabilityDateTime#3323088, nextAvailabilityDateTime#3323089, constraintValues#3323110, constraintOperators#3323109, constraintLabels#3323108, logisticUnits#3323104, orderQuantityBaseUom#3323105, orderQuantityBaseUomUuid#3323106, splitIndicator#3323096L, netPriceAmount#3323113, netPriceCurrencyCode#3323114, netPriceQuantity#3323115, netPriceQuantityUom#3323116, netPriceQuantityUomUuid#3323117, sourceOfSupplyUuid#3323091, minimumOrderQuantity#3323107, orderProposalItemId#3323078, orderProposalItemGroupId#3323101, optimizationGroups#3323120, measurements#3323118, externalProductId#3323102, externalPlantId#3323103, previousOrderProposal#3323097L, isFallbackOrderOnly#3323094, prodLocSpecificKpis#3325885, channelStreamSpecificKpis#3325900, shardId#3325907, worklistShardItemId#3325908L, quantityKpis#3325901]
(57) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#3322981, channelStreamSpecificKpis#3325900, constraintLabels#3322993, constraintOperators#3322994, constraintValues#3322996, deliveryDateTime#3322980, isFallbackOrderOnly#3322983, logisticUnits#3322998, measurements#3322991, minimumOrderQuantity#3322992, netPriceAmount#3322989, netPriceCurrencyCode#3322990, netPriceQuantity#3322986, netPriceQuantityUom#3322987, netPriceQuantityUomUuid#3322988, nextAvailabilityDateTime#3322982, optimizationGroups#3322999, orderDateTime#3322979, orderProposalId#3322961L, orderProposalItemGroupId#3322963, orderProposalItemId#3322962, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid#3322985, originalReplenishmentRunId#3322964L, plant#3322975, previousOrderProposal#3322967L, prodLocSpecificKpis#3325885, product#3322974, productGroup#3323003, qty#3322805, quantityAfterProdPlantOptimization#3322804, quantityKpis#3325913, shardId#3322291, sourceOfSupplyUuid#3322970, splitIndicator#3322966L, subrange#3322973, supplier#3322972, supplierGroup#3322971, supplyingPlant#3323002]
Condition : NOT (isFallbackOrderOnly#3322983 <=> true)
(58) Project [codegen id : 1]
Output [36]: [shardId#3322291, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3322961L, originalReplenishmentRunId#3322964L, supplierGroup#3322971, supplier#3322972, supplyingPlant#3323002, productGroup#3323003, product#3322974, plant#3322975, subrange#3322973, orderDateTime#3322979, deliveryDateTime#3322980, availabilityDateTime#3322981, nextAvailabilityDateTime#3322982, logisticUnits#3322998, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid#3322985, splitIndicator#3322966L, netPriceAmount#3322989, netPriceCurrencyCode#3322990, netPriceQuantity#3322986, netPriceQuantityUom#3322987, netPriceQuantityUomUuid#3322988, sourceOfSupplyUuid#3322970, minimumOrderQuantity#3322992, orderProposalItemId#3322962, orderProposalItemGroupId#3322963, optimizationGroups#3322999, measurements#3322991, previousOrderProposal#3322967L, prodLocSpecificKpis#3325885, channelStreamSpecificKpis#3325900, quantityKpis#3325913, arrays_zip(constraintLabels#3322993, constraintOperators#3322994, constraintValues#3322996, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#3327297]
Input [39]: [availabilityDateTime#3322981, channelStreamSpecificKpis#3325900, constraintLabels#3322993, constraintOperators#3322994, constraintValues#3322996, deliveryDateTime#3322980, isFallbackOrderOnly#3322983, logisticUnits#3322998, measurements#3322991, minimumOrderQuantity#3322992, netPriceAmount#3322989, netPriceCurrencyCode#3322990, netPriceQuantity#3322986, netPriceQuantityUom#3322987, netPriceQuantityUomUuid#3322988, nextAvailabilityDateTime#3322982, optimizationGroups#3322999, orderDateTime#3322979, orderProposalId#3322961L, orderProposalItemGroupId#3322963, orderProposalItemId#3322962, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid#3322985, originalReplenishmentRunId#3322964L, plant#3322975, previousOrderProposal#3322967L, prodLocSpecificKpis#3325885, product#3322974, productGroup#3323003, qty#3322805, quantityAfterProdPlantOptimization#3322804, quantityKpis#3325913, shardId#3322291, sourceOfSupplyUuid#3322970, splitIndicator#3322966L, subrange#3322973, supplier#3322972, supplierGroup#3322971, supplyingPlant#3323002]
(59) Project
Output [37]: [shardId#3322291, qty#3322805, orderProposalId#3322961L, originalReplenishmentRunId#3322964L, supplierGroup#3322971, supplier#3322972, supplyingPlant#3323002, productGroup#3323003, product#3322974, plant#3322975, subrange#3322973, orderDateTime#3322979, deliveryDateTime#3322980, availabilityDateTime#3322981, nextAvailabilityDateTime#3322982, logisticUnits#3322998, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid#3322985, splitIndicator#3322966L, netPriceAmount#3322989, netPriceCurrencyCode#3322990, netPriceQuantity#3322986, netPriceQuantityUom#3322987, netPriceQuantityUomUuid#3322988, sourceOfSupplyUuid#3322970, orderProposalItemId#3322962, orderProposalItemGroupId#3322963, optimizationGroups#3322999, measurements#3322991, previousOrderProposal#3322967L, prodLocSpecificKpis#3325885, channelStreamSpecificKpis#3325900, quantityKpis#3325913, struct(minServiceLevel, array_min(filter(constraintStructArray#3327297, lambdafunction((lambda x_10974#3327304.constraintLabels = ServiceLevel), lambda x_10974#3327304, false)).constraintValues), minServiceLevelMinStock, array_min(filter(constraintStructArray#3327297, lambdafunction((lambda x_10975#3327305.constraintLabels = ServiceLevelMinimumStock), lambda x_10975#3327305, false)).constraintValues), maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#3327297, lambdafunction((lambda x_10976#3327306.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_10976#3327306, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#3327297, lambdafunction((lambda x_10977#3327307.constraintLabels = RangeOfCoverage), lambda x_10977#3327307, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#3322992, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#3325885, lambdafunction((lambda x_10978#3327308.label = NonListingStartTimestamp), lambda x_10978#3327308, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#3327303, CASE WHEN (qty#3322805 <=> quantityAfterProdPlantOptimization#3322804) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#3322805 * (cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10979#3327376.isOrderUnit, lambda x_10979#3327376, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10979#3327377.isOrderUnit, lambda x_10979#3327377, false)), 1, None, false).numerator as double))), qty#3322805), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10979#3327378.isOrderUnit, lambda x_10979#3327378, false)), 1, None, false).uom, orderQuantityBaseUom#3322984), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10979#3327379.isOrderUnit, lambda x_10979#3327379, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3322985), candidateOrderQuantityInBaseUnit, qty#3322805, orderQuantityBaseUom, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3322985, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3322998, lambdafunction((lambda x_10981#3327380.isPreferred AND (((qty#3322805 * cast(lambda x_10981#3327380.denominator as double)) % cast(lambda x_10981#3327380.numerator as double)) = 0.0)), lambda x_10981#3327380, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3322805 * cast(lambda x_10982#3327421.denominator as double)) / cast(lambda x_10982#3327421.numerator as double)), uom, lambda x_10982#3327421.uom, uomUuid, lambda x_10982#3327421.uomUuid), lambda x_10982#3327421, false))).inPreferredQuantity, coalesce((qty#3322805 * (cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10980#3327381.isOrderUnit, lambda x_10980#3327381, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10980#3327382.isOrderUnit, lambda x_10980#3327382, false)), 1, None, false).numerator as double))), qty#3322805)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3322998, lambdafunction((lambda x_10981#3327383.isPreferred AND (((qty#3322805 * cast(lambda x_10981#3327383.denominator as double)) % cast(lambda x_10981#3327383.numerator as double)) = 0.0)), lambda x_10981#3327383, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3322805 * cast(lambda x_10982#3327422.denominator as double)) / cast(lambda x_10982#3327422.numerator as double)), uom, lambda x_10982#3327422.uom, uomUuid, lambda x_10982#3327422.uomUuid), lambda x_10982#3327422, false))).uom, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10980#3327384.isOrderUnit, lambda x_10980#3327384, false)), 1, None, false).uom, orderQuantityBaseUom#3322984)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3322998, lambdafunction((lambda x_10981#3327385.isPreferred AND (((qty#3322805 * cast(lambda x_10981#3327385.denominator as double)) % cast(lambda x_10981#3327385.numerator as double)) = 0.0)), lambda x_10981#3327385, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3322805 * cast(lambda x_10982#3327423.denominator as double)) / cast(lambda x_10982#3327423.numerator as double)), uom, lambda x_10982#3327423.uom, uomUuid, lambda x_10982#3327423.uomUuid), lambda x_10982#3327423, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10980#3327386.isOrderUnit, lambda x_10980#3327386, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3322985)), serviceLevel, coalesce(filter(element_at(quantityKpis#3325913, qty#3322805, None, false), lambdafunction((lambda x_10987#3327387.label = ServiceLevel), lambda x_10987#3327387, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#3322805 * (cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10979#3327391.isOrderUnit, lambda x_10979#3327391, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10979#3327392.isOrderUnit, lambda x_10979#3327392, false)), 1, None, false).numerator as double))), qty#3322805), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10979#3327393.isOrderUnit, lambda x_10979#3327393, false)), 1, None, false).uom, orderQuantityBaseUom#3322984), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10979#3327394.isOrderUnit, lambda x_10979#3327394, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3322985), candidateOrderQuantityInBaseUnit, qty#3322805, orderQuantityBaseUom, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3322985, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3322998, lambdafunction((lambda x_10981#3327395.isPreferred AND (((qty#3322805 * cast(lambda x_10981#3327395.denominator as double)) % cast(lambda x_10981#3327395.numerator as double)) = 0.0)), lambda x_10981#3327395, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3322805 * cast(lambda x_10982#3327424.denominator as double)) / cast(lambda x_10982#3327424.numerator as double)), uom, lambda x_10982#3327424.uom, uomUuid, lambda x_10982#3327424.uomUuid), lambda x_10982#3327424, false))).inPreferredQuantity, coalesce((qty#3322805 * (cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10980#3327396.isOrderUnit, lambda x_10980#3327396, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10980#3327397.isOrderUnit, lambda x_10980#3327397, false)), 1, None, false).numerator as double))), qty#3322805)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3322998, lambdafunction((lambda x_10981#3327398.isPreferred AND (((qty#3322805 * cast(lambda x_10981#3327398.denominator as double)) % cast(lambda x_10981#3327398.numerator as double)) = 0.0)), lambda x_10981#3327398, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3322805 * cast(lambda x_10982#3327425.denominator as double)) / cast(lambda x_10982#3327425.numerator as double)), uom, lambda x_10982#3327425.uom, uomUuid, lambda x_10982#3327425.uomUuid), lambda x_10982#3327425, false))).uom, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10980#3327399.isOrderUnit, lambda x_10980#3327399, false)), 1, None, false).uom, orderQuantityBaseUom#3322984)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3322998, lambdafunction((lambda x_10981#3327400.isPreferred AND (((qty#3322805 * cast(lambda x_10981#3327400.denominator as double)) % cast(lambda x_10981#3327400.numerator as double)) = 0.0)), lambda x_10981#3327400, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3322805 * cast(lambda x_10982#3327426.denominator as double)) / cast(lambda x_10982#3327426.numerator as double)), uom, lambda x_10982#3327426.uom, uomUuid, lambda x_10982#3327426.uomUuid), lambda x_10982#3327426, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10980#3327401.isOrderUnit, lambda x_10980#3327401, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3322985)), serviceLevel, coalesce(filter(element_at(quantityKpis#3325913, qty#3322805, None, false), lambdafunction((lambda x_10991#3327402.label = ServiceLevel), lambda x_10991#3327402, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#3322804 * (cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10983#3327406.isOrderUnit, lambda x_10983#3327406, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10983#3327407.isOrderUnit, lambda x_10983#3327407, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3322804), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10983#3327408.isOrderUnit, lambda x_10983#3327408, false)), 1, None, false).uom, orderQuantityBaseUom#3322984), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10983#3327409.isOrderUnit, lambda x_10983#3327409, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3322985), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#3322804, orderQuantityBaseUom, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3322985, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3322998, lambdafunction((lambda x_10985#3327410.isPreferred AND (((quantityAfterProdPlantOptimization#3322804 * cast(lambda x_10985#3327410.denominator as double)) % cast(lambda x_10985#3327410.numerator as double)) = 0.0)), lambda x_10985#3327410, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3322804 * cast(lambda x_10986#3327427.denominator as double)) / cast(lambda x_10986#3327427.numerator as double)), uom, lambda x_10986#3327427.uom, uomUuid, lambda x_10986#3327427.uomUuid), lambda x_10986#3327427, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#3322804 * (cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10984#3327411.isOrderUnit, lambda x_10984#3327411, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10984#3327412.isOrderUnit, lambda x_10984#3327412, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3322804)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3322998, lambdafunction((lambda x_10985#3327413.isPreferred AND (((quantityAfterProdPlantOptimization#3322804 * cast(lambda x_10985#3327413.denominator as double)) % cast(lambda x_10985#3327413.numerator as double)) = 0.0)), lambda x_10985#3327413, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3322804 * cast(lambda x_10986#3327428.denominator as double)) / cast(lambda x_10986#3327428.numerator as double)), uom, lambda x_10986#3327428.uom, uomUuid, lambda x_10986#3327428.uomUuid), lambda x_10986#3327428, false))).uom, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10984#3327414.isOrderUnit, lambda x_10984#3327414, false)), 1, None, false).uom, orderQuantityBaseUom#3322984)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3322998, lambdafunction((lambda x_10985#3327415.isPreferred AND (((quantityAfterProdPlantOptimization#3322804 * cast(lambda x_10985#3327415.denominator as double)) % cast(lambda x_10985#3327415.numerator as double)) = 0.0)), lambda x_10985#3327415, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3322804 * cast(lambda x_10986#3327429.denominator as double)) / cast(lambda x_10986#3327429.numerator as double)), uom, lambda x_10986#3327429.uom, uomUuid, lambda x_10986#3327429.uomUuid), lambda x_10986#3327429, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_10984#3327416.isOrderUnit, lambda x_10984#3327416, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3322985)), serviceLevel, coalesce(filter(element_at(quantityKpis#3325913, quantityAfterProdPlantOptimization#3322804, None, false), lambdafunction((lambda x_10995#3327417.label = ServiceLevel), lambda x_10995#3327417, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#3327375, coalesce(filter(prodLocSpecificKpis#3325885, lambdafunction((lambda x_10999#3327431.label = InitialStockQty), lambda x_10999#3327431, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#3327430, coalesce(filter(prodLocSpecificKpis#3325885, lambdafunction((lambda x_11000#3327433.label = DemandPeriodEndTimestamp), lambda x_11000#3327433, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#3327432]
Input [36]: [shardId#3322291, quantityAfterProdPlantOptimization#3322804, qty#3322805, orderProposalId#3322961L, originalReplenishmentRunId#3322964L, supplierGroup#3322971, supplier#3322972, supplyingPlant#3323002, productGroup#3323003, product#3322974, plant#3322975, subrange#3322973, orderDateTime#3322979, deliveryDateTime#3322980, availabilityDateTime#3322981, nextAvailabilityDateTime#3322982, logisticUnits#3322998, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid#3322985, splitIndicator#3322966L, netPriceAmount#3322989, netPriceCurrencyCode#3322990, netPriceQuantity#3322986, netPriceQuantityUom#3322987, netPriceQuantityUomUuid#3322988, sourceOfSupplyUuid#3322970, minimumOrderQuantity#3322992, orderProposalItemId#3322962, orderProposalItemGroupId#3322963, optimizationGroups#3322999, measurements#3322991, previousOrderProposal#3322967L, prodLocSpecificKpis#3325885, channelStreamSpecificKpis#3325900, quantityKpis#3325913, constraintStructArray#3327297]
(60) Project
Output [21]: [shardId#3322291, qty#3322805, orderProposalId#3322961L, originalReplenishmentRunId#3322964L, supplierGroup#3322971, supplier#3322972, supplyingPlant#3323002, productGroup#3323003, product#3322974, plant#3322975, subrange#3322973, orderDateTime#3322979, deliveryDateTime#3322980, logisticUnits#3322998, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid#3322985, splitIndicator#3322966L, orderProposalItemId#3322962, orderProposalItemGroupId#3322963, previousOrderProposal#3322967L, struct(itemId, orderProposalItemId#3322962, itemGroupId, orderProposalItemGroupId#3322963, supplier, supplier#3322972, supplyingPlant, supplyingPlant#3323002, productGroup, productGroup#3323003, product, product#3322974, plant, plant#3322975, supplierSubRange, subrange#3322973, sourceOfSupplyUuid, sourceOfSupplyUuid#3322970, deliveryDateTime, deliveryDateTime#3322980, unitPrice, netPriceAmount#3322989, unitPriceCurrency, netPriceCurrencyCode#3322990, unitPriceQuantity, ... 37 more fields) AS parentItem#3327506]
Input [37]: [shardId#3322291, qty#3322805, orderProposalId#3322961L, originalReplenishmentRunId#3322964L, supplierGroup#3322971, supplier#3322972, supplyingPlant#3323002, productGroup#3323003, product#3322974, plant#3322975, subrange#3322973, orderDateTime#3322979, deliveryDateTime#3322980, availabilityDateTime#3322981, nextAvailabilityDateTime#3322982, logisticUnits#3322998, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid#3322985, splitIndicator#3322966L, netPriceAmount#3322989, netPriceCurrencyCode#3322990, netPriceQuantity#3322986, netPriceQuantityUom#3322987, netPriceQuantityUomUuid#3322988, sourceOfSupplyUuid#3322970, orderProposalItemId#3322962, orderProposalItemGroupId#3322963, optimizationGroups#3322999, measurements#3322991, previousOrderProposal#3322967L, prodLocSpecificKpis#3325885, channelStreamSpecificKpis#3325900, quantityKpis#3325913, constraintBenchmark#3327303, calculationAnalysis#3327375, inventoryDateTime#3327430, demandPeriodEndDateTime#3327432]
(61) Project
Output [12]: [shardId#3322291, orderProposalId#3322961L, originalReplenishmentRunId#3322964L, supplierGroup#3322971, supplier#3322972, supplyingPlant#3323002, orderDateTime#3322979, splitIndicator#3322966L, orderProposalItemGroupId#3322963, previousOrderProposal#3322967L, parentItem#3327506, struct(itemId, orderProposalItemId#3322962, supplier, supplier#3322972, supplyingPlant, supplyingPlant#3323002, productGroup, productGroup#3323003, product, product#3322974, plant, plant#3322975, supplierSubRange, subrange#3322973, deliveryDateTime, deliveryDateTime#3322980, orderQuantity, coalesce((qty#3322805 * (cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_11024#3327540.isOrderUnit, lambda x_11024#3327540, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_11024#3327541.isOrderUnit, lambda x_11024#3327541, false)), 1, None, false).numerator as double))), qty#3322805), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_11024#3327542.isOrderUnit, lambda x_11024#3327542, false)), 1, None, false).uom, orderQuantityBaseUom#3322984), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3322998, lambdafunction(lambda x_11024#3327543.isOrderUnit, lambda x_11024#3327543, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3322985), orderQuantityInBaseUnit, qty#3322805, orderQuantityBaseUom, ... 13 more fields) AS item#3327537]
Input [21]: [shardId#3322291, qty#3322805, orderProposalId#3322961L, originalReplenishmentRunId#3322964L, supplierGroup#3322971, supplier#3322972, supplyingPlant#3323002, productGroup#3323003, product#3322974, plant#3322975, subrange#3322973, orderDateTime#3322979, deliveryDateTime#3322980, logisticUnits#3322998, orderQuantityBaseUom#3322984, orderQuantityBaseUomUuid#3322985, splitIndicator#3322966L, orderProposalItemId#3322962, orderProposalItemGroupId#3322963, previousOrderProposal#3322967L, parentItem#3327506]
(62) ObjectHashAggregate
Input [12]: [shardId#3322291, orderProposalId#3322961L, originalReplenishmentRunId#3322964L, supplierGroup#3322971, supplier#3322972, supplyingPlant#3323002, orderDateTime#3322979, splitIndicator#3322966L, orderProposalItemGroupId#3322963, previousOrderProposal#3322967L, parentItem#3327506, item#3327537]
Keys [4]: [shardId#3322291, orderProposalId#3322961L, splitIndicator#3322966L, orderProposalItemGroupId#3322963]
Functions [8]: [partial_max(originalReplenishmentRunId#3322964L), partial_max(supplierGroup#3322971), partial_max(supplier#3322972), partial_max(supplyingPlant#3323002), partial_max(orderDateTime#3322979), partial_collect_list(parentItem#3327506, 0, 0), partial_collect_set(previousOrderProposal#3322967L, 0, 0), partial_collect_list(item#3327537, 0, 0)]
Aggregate Attributes [8]: [max#3329222L, max#3329223, max#3329224, max#3329225, max#3329226, buf#3329227, buf#3329228, buf#3329229]
Results [12]: [shardId#3322291, orderProposalId#3322961L, splitIndicator#3322966L, orderProposalItemGroupId#3322963, max#3329230L, max#3329231, max#3329232, max#3329233, max#3329234, buf#3329235, buf#3329236, buf#3329237]
(63) Exchange
Input [12]: [shardId#3322291, orderProposalId#3322961L, splitIndicator#3322966L, orderProposalItemGroupId#3322963, max#3329230L, max#3329231, max#3329232, max#3329233, max#3329234, buf#3329235, buf#3329236, buf#3329237]
Arguments: hashpartitioning(shardId#3322291, orderProposalId#3322961L, splitIndicator#3322966L, orderProposalItemGroupId#3322963, 30), ENSURE_REQUIREMENTS, [plan_id=958971]
(64) ObjectHashAggregate
Input [12]: [shardId#3322291, orderProposalId#3322961L, splitIndicator#3322966L, orderProposalItemGroupId#3322963, max#3329230L, max#3329231, max#3329232, max#3329233, max#3329234, buf#3329235, buf#3329236, buf#3329237]
Keys [4]: [shardId#3322291, orderProposalId#3322961L, splitIndicator#3322966L, orderProposalItemGroupId#3322963]
Functions [8]: [max(originalReplenishmentRunId#3322964L), max(supplierGroup#3322971), max(supplier#3322972), max(supplyingPlant#3323002), max(orderDateTime#3322979), collect_list(parentItem#3327506, 0, 0), collect_set(previousOrderProposal#3322967L, 0, 0), collect_list(item#3327537, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3322964L)#3327606L, max(supplierGroup#3322971)#3327607, max(supplier#3322972)#3327608, max(supplyingPlant#3323002)#3327609, max(orderDateTime#3322979)#3327610, collect_list(parentItem#3327506, 0, 0)#3327611, collect_set(previousOrderProposal#3322967L, 0, 0)#3327613, collect_list(item#3327537, 0, 0)#3327612]
Results [10]: [shardId#3322291, orderProposalId#3322961L, max(originalReplenishmentRunId#3322964L)#3327606L AS originalReplenishmentRunId#3327554L, max(supplierGroup#3322971)#3327607 AS supplierGroup#3327555, max(supplier#3322972)#3327608 AS supplier#3327556, max(supplyingPlant#3323002)#3327609 AS supplyingPlant#3327557, max(orderDateTime#3322979)#3327610 AS orderDateTime#3327558, collect_list(parentItem#3327506, 0, 0)#3327611 AS parentItems#3327559, collect_set(previousOrderProposal#3322967L, 0, 0)#3327613 AS previousOrderProposals#3327561, struct(itemGroupId, orderProposalItemGroupId#3322963, items, collect_list(item#3327537, 0, 0)#3327612) AS itemGroup#3327615]
(65) ObjectHashAggregate
Input [10]: [shardId#3322291, orderProposalId#3322961L, originalReplenishmentRunId#3327554L, supplierGroup#3327555, supplier#3327556, supplyingPlant#3327557, orderDateTime#3327558, parentItems#3327559, previousOrderProposals#3327561, itemGroup#3327615]
Keys [2]: [shardId#3322291, orderProposalId#3322961L]
Functions [8]: [partial_max(originalReplenishmentRunId#3327554L), partial_max(supplierGroup#3327555), partial_max(supplier#3327556), partial_max(supplyingPlant#3327557), partial_max(orderDateTime#3327558), partial_collect_list(itemGroup#3327615, 0, 0), partial_collect_list(parentItems#3327559, 0, 0), partial_collect_set(previousOrderProposals#3327561, 0, 0)]
Aggregate Attributes [8]: [max#3329206L, max#3329207, max#3329208, max#3329209, max#3329210, buf#3329211, buf#3329212, buf#3329213]
Results [10]: [shardId#3322291, orderProposalId#3322961L, max#3329214L, max#3329215, max#3329216, max#3329217, max#3329218, buf#3329219, buf#3329220, buf#3329221]
(66) Exchange
Input [10]: [shardId#3322291, orderProposalId#3322961L, max#3329214L, max#3329215, max#3329216, max#3329217, max#3329218, buf#3329219, buf#3329220, buf#3329221]
Arguments: hashpartitioning(shardId#3322291, orderProposalId#3322961L, 30), ENSURE_REQUIREMENTS, [plan_id=958974]
(67) ObjectHashAggregate
Input [10]: [shardId#3322291, orderProposalId#3322961L, max#3329214L, max#3329215, max#3329216, max#3329217, max#3329218, buf#3329219, buf#3329220, buf#3329221]
Keys [2]: [shardId#3322291, orderProposalId#3322961L]
Functions [8]: [max(originalReplenishmentRunId#3327554L), max(supplierGroup#3327555), max(supplier#3327556), max(supplyingPlant#3327557), max(orderDateTime#3327558), collect_list(itemGroup#3327615, 0, 0), collect_list(parentItems#3327559, 0, 0), collect_set(previousOrderProposals#3327561, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3327554L)#3327637L, max(supplierGroup#3327555)#3327638, max(supplier#3327556)#3327639, max(supplyingPlant#3327557)#3327640, max(orderDateTime#3327558)#3327641, collect_list(itemGroup#3327615, 0, 0)#3327642, collect_list(parentItems#3327559, 0, 0)#3327643, collect_set(previousOrderProposals#3327561, 0, 0)#3327644]
Results [10]: [shardId#3322291, orderProposalId#3322961L, max(originalReplenishmentRunId#3327554L)#3327637L AS originalReplenishmentRunId#3327616L, max(supplierGroup#3327555)#3327638 AS supplierGroup#3327617, max(supplier#3327556)#3327639 AS supplier#3327618, max(supplyingPlant#3327557)#3327640 AS supplyingPlant#3327619, max(orderDateTime#3327558)#3327641 AS orderDateTime#3327620, collect_list(itemGroup#3327615, 0, 0)#3327642 AS itemGroups#3327621, flatten(collect_list(parentItems#3327559, 0, 0)#3327643) AS parentItems#3327622, flatten(collect_set(previousOrderProposals#3327561, 0, 0)#3327644) AS previousOrderProposals#3327623]
(68) Project
Output [2]: [shardId#3322291, struct(orderProposalId, orderProposalId#3322961L, originalReplenishmentRunId, originalReplenishmentRunId#3327616L, supplierGroup, supplierGroup#3327617, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#3327617) THEN supplier#3327618 END, supplyingPlant, supplyingPlant#3327619, orderDateTime, orderDateTime#3327620, itemGroups, itemGroups#3327621, previousOrderProposals, array_distinct(previousOrderProposals#3327623), parentItems, parentItems#3327622) AS orderProposal#3327648]
Input [10]: [shardId#3322291, orderProposalId#3322961L, originalReplenishmentRunId#3327616L, supplierGroup#3327617, supplier#3327618, supplyingPlant#3327619, orderDateTime#3327620, itemGroups#3327621, parentItems#3327622, previousOrderProposals#3327623]
(69) Project
Output [11]: [shardId#3322291, orderProposal#3327648.orderProposalId AS _extract_orderProposalId#3328838L, orderProposal#3327648.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#3328839L, orderProposal#3327648.supplierGroup AS _extract_supplierGroup#3328840, orderProposal#3327648.supplier AS _extract_supplier#3328841, orderProposal#3327648.supplyingPlant AS _extract_supplyingPlant#3328842, orderProposal#3327648.orderDateTime AS _extract_orderDateTime#3328843, orderProposal#3327648.itemGroups AS _extract_itemGroups#3328844, orderProposal#3327648.previousOrderProposals AS _extract_previousOrderProposals#3328845, orderProposal#3327648.parentItems AS _extract_parentItems#3328846, orderProposal#3327648.orderProposalId AS _extract_orderProposalId#3328847L]
Input [2]: [shardId#3322291, orderProposal#3327648]
(70) Exchange
Input [11]: [shardId#3322291, _extract_orderProposalId#3328838L, _extract_originalReplenishmentRunId#3328839L, _extract_supplierGroup#3328840, _extract_supplier#3328841, _extract_supplyingPlant#3328842, _extract_orderDateTime#3328843, _extract_itemGroups#3328844, _extract_previousOrderProposals#3328845, _extract_parentItems#3328846, _extract_orderProposalId#3328847L]
Arguments: hashpartitioning(coalesce(shardId#3322291, ), isnull(shardId#3322291), coalesce(_extract_orderProposalId#3328847L, 0), isnull(_extract_orderProposalId#3328847L), 30), ENSURE_REQUIREMENTS, [plan_id=958978]
(71) Sort
Input [11]: [shardId#3322291, _extract_orderProposalId#3328838L, _extract_originalReplenishmentRunId#3328839L, _extract_supplierGroup#3328840, _extract_supplier#3328841, _extract_supplyingPlant#3328842, _extract_orderDateTime#3328843, _extract_itemGroups#3328844, _extract_previousOrderProposals#3328845, _extract_parentItems#3328846, _extract_orderProposalId#3328847L]
Arguments: [coalesce(shardId#3322291, ) ASC NULLS FIRST, isnull(shardId#3322291) ASC NULLS FIRST, coalesce(_extract_orderProposalId#3328847L, 0) ASC NULLS FIRST, isnull(_extract_orderProposalId#3328847L) ASC NULLS FIRST], false, 0
(72) InMemoryTableScan
Output [3]: [shardId#3327663, orderProposalId#3327664L, optimizationGroups#3327666]
Arguments: [shardId#3327663, orderProposalId#3327664L, optimizationGroups#3327666], [isnotnull(orderProposalId#3327664L)]
(73) InMemoryRelation
Arguments: [shardId#3327663, orderProposalId#3327664L, items#3327665, optimizationGroups#3327666, isOptimal#3327667, optimizationInsights#3327669], StorageLevel(disk, memory, 2 replicas)
(74) Filter [codegen id : 2]
Input [3]: [shardId#3327663, orderProposalId#3327664L, optimizationGroups#3327666]
Condition : isnotnull(orderProposalId#3327664L)
(75) Exchange
Input [3]: [shardId#3327663, orderProposalId#3327664L, optimizationGroups#3327666]
Arguments: hashpartitioning(orderProposalId#3327664L, 30), ENSURE_REQUIREMENTS, [plan_id=958983]
(76) Sort [codegen id : 3]
Input [3]: [shardId#3327663, orderProposalId#3327664L, optimizationGroups#3327666]
Arguments: [orderProposalId#3327664L ASC NULLS FIRST], false, 0
(77) InMemoryTableScan
Output [2]: [items#3327292, shardId#3327290]
Arguments: [items#3327292, shardId#3327290], [(size(items#3327292.worklistShardItemId, true) > 0), isnotnull(items#3327292.worklistShardItemId), (shardId#3327290 = 0_6_10000000532)]
(78) InMemoryRelation
Arguments: [shardId#3327290, orderProposalId#3327291L, items#3327292, optimizationGroups#3327293, isOptimal#3327294, optimizationInsights#3327296], StorageLevel(disk, memory, 2 replicas)
(79) Filter [codegen id : 4]
Input [2]: [items#3327292, shardId#3327290]
Condition : (((size(items#3327292.worklistShardItemId, true) > 0) AND isnotnull(items#3327292.worklistShardItemId)) AND (shardId#3327290 = 0_6_10000000532))
(80) Project [codegen id : 4]
Output [1]: [items#3327292.worklistShardItemId AS _extract_worklistShardItemId#3328311]
Input [2]: [items#3327292, shardId#3327290]
(81) Generate [codegen id : 4]
Input [1]: [_extract_worklistShardItemId#3328311]
Arguments: explode(_extract_worklistShardItemId#3328311), false, [item#3327670L]
(82) Project [codegen id : 4]
Output [1]: [item#3327670L AS worklistShardItemId#3327671L]
Input [1]: [item#3327670L]
(83) BroadcastExchange
Input [1]: [worklistShardItemId#3327671L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=958994]
(84) Scan parquet
Output [5]: [orderProposalId#3327719L, isFallbackOrderOnly#3327736, worklistShardItemId#3327742L, shardId#3327763, sequenceId#3327741]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000000532]
PartitionFilters: [isnotnull(shardId#3327763), isnotnull(sequenceId#3327741), (shardId#3327763 = 0_6_10000000532), (sequenceId#3327741 = 6)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(85) ColumnarToRow [codegen id : 5]
Input [5]: [orderProposalId#3327719L, isFallbackOrderOnly#3327736, worklistShardItemId#3327742L, shardId#3327763, sequenceId#3327741]
(86) Filter [codegen id : 5]
Input [5]: [orderProposalId#3327719L, isFallbackOrderOnly#3327736, worklistShardItemId#3327742L, shardId#3327763, sequenceId#3327741]
Condition : ((isnotnull(worklistShardItemId#3327742L) AND NOT (isFallbackOrderOnly#3327736 <=> true)) AND isnotnull(orderProposalId#3327719L))
(87) Project [codegen id : 5]
Output [2]: [orderProposalId#3327719L, worklistShardItemId#3327742L]
Input [5]: [orderProposalId#3327719L, isFallbackOrderOnly#3327736, worklistShardItemId#3327742L, shardId#3327763, sequenceId#3327741]
(88) Exchange
Input [2]: [orderProposalId#3327719L, worklistShardItemId#3327742L]
Arguments: hashpartitioning(worklistShardItemId#3327742L, 30), REPARTITION_BY_NUM, [plan_id=959001]
(89) Project
Output [2]: [worklistShardItemId#3327742L, orderProposalId#3327719L]
Input [2]: [orderProposalId#3327719L, worklistShardItemId#3327742L]
(90) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [worklistShardItemId#3327671L]
Right keys [1]: [worklistShardItemId#3327742L]
Join type: Inner
Join condition: None
(91) Project [codegen id : 6]
Output [1]: [orderProposalId#3327719L]
Input [3]: [worklistShardItemId#3327671L, worklistShardItemId#3327742L, orderProposalId#3327719L]
(92) HashAggregate [codegen id : 6]
Input [1]: [orderProposalId#3327719L]
Keys [1]: [orderProposalId#3327719L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3327719L]
(93) Exchange
Input [1]: [orderProposalId#3327719L]
Arguments: hashpartitioning(orderProposalId#3327719L, 30), ENSURE_REQUIREMENTS, [plan_id=959008]
(94) HashAggregate [codegen id : 7]
Input [1]: [orderProposalId#3327719L]
Keys [1]: [orderProposalId#3327719L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3327719L]
(95) Sort [codegen id : 7]
Input [1]: [orderProposalId#3327719L]
Arguments: [orderProposalId#3327719L ASC NULLS FIRST], false, 0
(96) SortMergeJoin [codegen id : 8]
Left keys [1]: [orderProposalId#3327664L]
Right keys [1]: [orderProposalId#3327719L]
Join type: Inner
Join condition: None
(97) Project
Output [3]: [orderProposalId#3327664L, shardId#3327663, coalesce(transform(optimizationGroups#3327666, lambdafunction(struct(optGroupId, lambda x_11028#3327661.optGroupId, minOrderProfile, lambda x_11028#3327661.minOrderProfile, assignmentDetails, lambda x_11028#3327661.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_11028#3327661.minOrderGoal.dimensionType, unit, lambda x_11028#3327661.minOrderGoal.unit, unitUuid, lambda x_11028#3327661.minOrderGoal.unitUuid, goalValue, lambda x_11028#3327661.minOrderGoal.minOrderValue, calcValue, lambda x_11028#3327661.minOrderGoal.calculatedOrderValue), transportLoadProfile, null, transportLoadGoal, null), lambda x_11028#3327661, false)), []) AS optimizationGroups#3327660]
Input [4]: [shardId#3327663, orderProposalId#3327664L, optimizationGroups#3327666, orderProposalId#3327719L]
(98) Exchange
Input [3]: [orderProposalId#3327664L, shardId#3327663, optimizationGroups#3327660]
Arguments: hashpartitioning(coalesce(shardId#3327663, ), isnull(shardId#3327663), coalesce(orderProposalId#3327664L, 0), isnull(orderProposalId#3327664L), 30), ENSURE_REQUIREMENTS, [plan_id=959017]
(99) Sort [codegen id : 9]
Input [3]: [orderProposalId#3327664L, shardId#3327663, optimizationGroups#3327660]
Arguments: [coalesce(shardId#3327663, ) ASC NULLS FIRST, isnull(shardId#3327663) ASC NULLS FIRST, coalesce(orderProposalId#3327664L, 0) ASC NULLS FIRST, isnull(orderProposalId#3327664L) ASC NULLS FIRST], false, 0
(100) SortMergeJoin
Left keys [4]: [coalesce(shardId#3322291, ), isnull(shardId#3322291), coalesce(_extract_orderProposalId#3328847L, 0), isnull(_extract_orderProposalId#3328847L)]
Right keys [4]: [coalesce(shardId#3327663, ), isnull(shardId#3327663), coalesce(orderProposalId#3327664L, 0), isnull(orderProposalId#3327664L)]
Join type: LeftOuter
Join condition: None
(101) Project
Output [2]: [shardId#3322291, named_struct(orderProposalId, _extract_orderProposalId#3328847L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#3328839L, supplierGroup, _extract_supplierGroup#3328840, optimizationGroups, coalesce(optimizationGroups#3327660, []), supplier, _extract_supplier#3328841, supplyingPlant, _extract_supplyingPlant#3328842, orderDateTime, _extract_orderDateTime#3328843, itemGroups, _extract_itemGroups#3328844, previousOrderProposals, _extract_previousOrderProposals#3328845, parentItems, _extract_parentItems#3328846) AS orderProposal#3327767]
Input [14]: [shardId#3322291, _extract_orderProposalId#3328838L, _extract_originalReplenishmentRunId#3328839L, _extract_supplierGroup#3328840, _extract_supplier#3328841, _extract_supplyingPlant#3328842, _extract_orderDateTime#3328843, _extract_itemGroups#3328844, _extract_previousOrderProposals#3328845, _extract_parentItems#3328846, _extract_orderProposalId#3328847L, orderProposalId#3327664L, shardId#3327663, optimizationGroups#3327660]
(102) Project
Output [3]: [shardId#3322291, orderProposal#3327767, CASE WHEN (size(orderProposal#3327767.parentItems, true) > 2000) THEN xxhash64(orderProposal#3327767.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#3327767.orderProposalId as decimal(20,0)), 60), 42) END AS resultSeparationId#3333331L]
Input [2]: [orderProposal#3327767, shardId#3322291]
(103) ObjectHashAggregate
Input [3]: [shardId#3322291, orderProposal#3327767, resultSeparationId#3333331L]
Keys [2]: [shardId#3322291, resultSeparationId#3333331L]
Functions [1]: [partial_collect_list(orderProposal#3327767, 0, 0)]
Aggregate Attributes [1]: [buf#3333370]
Results [3]: [shardId#3322291, resultSeparationId#3333331L, buf#3333371]
(104) Exchange
Input [3]: [shardId#3322291, resultSeparationId#3333331L, buf#3333371]
Arguments: hashpartitioning(shardId#3322291, resultSeparationId#3333331L, 30), ENSURE_REQUIREMENTS, [plan_id=960520]
(105) ObjectHashAggregate
Input [3]: [shardId#3322291, resultSeparationId#3333331L, buf#3333371]
Keys [2]: [shardId#3322291, resultSeparationId#3333331L]
Functions [1]: [collect_list(orderProposal#3327767, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#3327767, 0, 0)#3333339]
Results [3]: [shardId#3322291, resultSeparationId#3333331L, collect_list(orderProposal#3327767, 0, 0)#3333339 AS orderProposals#3333335]
(106) Exchange
Input [3]: [shardId#3322291, resultSeparationId#3333331L, orderProposals#3333335]
Arguments: rangepartitioning(shardId#3322291 ASC NULLS FIRST, resultSeparationId#3333331L ASC NULLS FIRST, 60), REPARTITION_BY_NUM, [plan_id=960563]
(107) Project
Output [2]: [shardId#3322291, orderProposals#3333335]
Input [3]: [shardId#3322291, resultSeparationId#3333331L, orderProposals#3333335]
(108) Project
Output [2]: [empty2null(shardId#3322291) AS shardId#3351440, orderProposals#3333335]
Input [2]: [orderProposals#3333335, shardId#3322291]
(109) Sort
Input [2]: [shardId#3351440, orderProposals#3333335]
Arguments: [shardId#3351440 ASC NULLS FIRST], false, 0
(110) WriteFiles
Input [2]: [shardId#3351440, orderProposals#3333335]
(111) Execute InsertIntoHadoopFsRelationCommand
Input: []
Arguments: hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-result/10000000532, false, [shardId#3351440], JSON, [__partition_columns=["shardId"], path=hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-result/10000000532], Append, [shardId, orderProposals]