== Physical Plan ==
CollectLimit (55)
+- * Project (54)
+- * Generate (53)
+- * Project (52)
+- * Filter (51)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- * Project (50)
+- * SortMergeJoin LeftOuter (49)
:- * Project (41)
: +- * SortMergeJoin LeftOuter (40)
: :- * Project (32)
: : +- * SortMergeJoin LeftOuter (31)
: : :- * Sort (25)
: : : +- Exchange (24)
: : : +- * Project (23)
: : : +- * SortMergeJoin LeftOuter (22)
: : : :- * Sort (14)
: : : : +- Exchange (13)
: : : : +- * Project (12)
: : : : +- * Generate (11)
: : : : +- * Filter (10)
: : : : +- InMemoryTableScan (3)
: : : : +- InMemoryRelation (4)
: : : : +- * Filter (9)
: : : : +- InMemoryTableScan (5)
: : : : +- InMemoryRelation (6)
: : : : +- * Filter (8)
: : : : +- * Scan ExistingRDD (7)
: : : +- * Sort (21)
: : : +- * Project (20)
: : : +- Exchange (19)
: : : +- * Project (18)
: : : +- * Filter (17)
: : : +- * ColumnarToRow (16)
: : : +- Scan parquet (15)
: : +- * Sort (30)
: : +- Exchange (29)
: : +- * Project (28)
: : +- * Filter (27)
: : +- * Scan ExistingRDD (26)
: +- * Sort (39)
: +- ObjectHashAggregate (38)
: +- Exchange (37)
: +- ObjectHashAggregate (36)
: +- * Project (35)
: +- * Filter (34)
: +- * Scan ExistingRDD (33)
+- * Sort (48)
+- ObjectHashAggregate (47)
+- Exchange (46)
+- ObjectHashAggregate (45)
+- * Project (44)
+- * Filter (43)
+- * Scan ExistingRDD (42)
(1) InMemoryTableScan
Output [2]: [quantityKpis#586419, shardId#584004]
Arguments: [quantityKpis#586419, shardId#584004], [isnotnull(shardId#584004), (shardId#584004 = 0_1_10000002106), (size(quantityKpis#586419, true) > 0)]
(2) InMemoryRelation
Arguments: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518, orderProposalId#584674L, originalReplenishmentRunId#584677L, supplierGroup#584684, supplier#584685, supplyingPlant#584715, productGroup#584716, product#584687, plant#584688, subrange#584686, orderDateTime#584692, deliveryDateTime#584693, availabilityDateTime#584694, nextAvailabilityDateTime#584695, constraintValues#584709, constraintOperators#584707, constraintLabels#584706, logisticUnits#584711, orderQuantityBaseUom#584697, orderQuantityBaseUomUuid#584698, splitIndicator#584679L, netPriceAmount#584702, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [2]: [shardId#584004, items#584006]
Arguments: [shardId#584004, items#584006], [(size(items#584006, true) > 0), isnotnull(items#584006)]
(4) InMemoryRelation
Arguments: [shardId#584004, orderProposalId#584005L, items#584006, optimizationGroups#584007, isOptimal#584008, optimizationInsights#584010], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [6]: [shardId#584004, orderProposalId#584005L, items#584006, optimizationGroups#584007, isOptimal#584008, optimizationInsights#584010]
Arguments: [shardId#584004, orderProposalId#584005L, items#584006, optimizationGroups#584007, isOptimal#584008, optimizationInsights#584010], [isnotnull(shardId#584004), (shardId#584004 = 0_1_10000002106)]
(6) InMemoryRelation
Arguments: [shardId#584004, orderProposalId#584005L, items#584006, optimizationGroups#584007, isOptimal#584008, lastModified#584009, optimizationInsights#584010], StorageLevel(disk, memory, 2 replicas)
(7) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#584004, orderProposalId#584005L, items#584006, optimizationGroups#584007, isOptimal#584008, lastModified#584009, optimizationInsights#584010]
Arguments: [shardId#584004, orderProposalId#584005L, items#584006, optimizationGroups#584007, isOptimal#584008, lastModified#584009, optimizationInsights#584010], MapPartitionsRDD[28047] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(8) Filter [codegen id : 1]
Input [7]: [shardId#584004, orderProposalId#584005L, items#584006, optimizationGroups#584007, isOptimal#584008, lastModified#584009, optimizationInsights#584010]
Condition : (isnotnull(shardId#584004) AND (shardId#584004 = 0_1_10000002106))
(9) Filter [codegen id : 1]
Input [6]: [shardId#584004, orderProposalId#584005L, items#584006, optimizationGroups#584007, isOptimal#584008, optimizationInsights#584010]
Condition : (isnotnull(shardId#584004) AND (shardId#584004 = 0_1_10000002106))
(10) Filter [codegen id : 1]
Input [2]: [shardId#584004, items#584006]
Condition : ((size(items#584006, true) > 0) AND isnotnull(items#584006))
(11) Generate [codegen id : 1]
Input [2]: [shardId#584004, items#584006]
Arguments: explode(items#584006), [shardId#584004], false, [item#584515]
(12) Project [codegen id : 1]
Output [4]: [shardId#584004, item#584515.worklistShardItemId AS worklistShardItemId#584516L, item#584515.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#584517, item#584515.qty AS qty#584518]
Input [2]: [shardId#584004, item#584515]
(13) Exchange
Input [4]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518]
Arguments: hashpartitioning(worklistShardItemId#584516L, 20), ENSURE_REQUIREMENTS, [plan_id=248634]
(14) Sort [codegen id : 2]
Input [4]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518]
Arguments: [worklistShardItemId#584516L ASC NULLS FIRST], false, 0
(15) Scan parquet
Output [38]: [orderProposalId#584717L, orderProposalItemId#584718, supplierGroup#584719, supplier#584720, plant#584721, deliveryDateTime#584722, subrange#584723, supplyingPlant#584724, productGroup#584725, product#584726, orderDateTime#584727, availabilityDateTime#584728, nextAvailabilityDateTime#584729, sourceOfSupplyUuid#584731, isFallbackOrderOnly#584734, splitIndicator#584736L, previousOrderProposal#584737L, worklistShardItemId#584740L, orderProposalItemGroupId#584741, externalProductId#584742, externalPlantId#584743, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, minimumOrderQuantity#584747, constraintLabels#584748, constraintOperators#584749, constraintValues#584750, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, measurements#584758, originalReplenishmentRunId#584759L, optimizationGroups#584760, shardId#584761, sequenceId#584739]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000002106]
PartitionFilters: [isnotnull(shardId#584761), isnotnull(sequenceId#584739), (shardId#584761 = 0_1_10000002106), (sequenceId#584739 = 1)]
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>>
(16) ColumnarToRow [codegen id : 3]
Input [38]: [orderProposalId#584717L, orderProposalItemId#584718, supplierGroup#584719, supplier#584720, plant#584721, deliveryDateTime#584722, subrange#584723, supplyingPlant#584724, productGroup#584725, product#584726, orderDateTime#584727, availabilityDateTime#584728, nextAvailabilityDateTime#584729, sourceOfSupplyUuid#584731, isFallbackOrderOnly#584734, splitIndicator#584736L, previousOrderProposal#584737L, worklistShardItemId#584740L, orderProposalItemGroupId#584741, externalProductId#584742, externalPlantId#584743, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, minimumOrderQuantity#584747, constraintLabels#584748, constraintOperators#584749, constraintValues#584750, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, measurements#584758, originalReplenishmentRunId#584759L, optimizationGroups#584760, shardId#584761, sequenceId#584739]
(17) Filter [codegen id : 3]
Input [38]: [orderProposalId#584717L, orderProposalItemId#584718, supplierGroup#584719, supplier#584720, plant#584721, deliveryDateTime#584722, subrange#584723, supplyingPlant#584724, productGroup#584725, product#584726, orderDateTime#584727, availabilityDateTime#584728, nextAvailabilityDateTime#584729, sourceOfSupplyUuid#584731, isFallbackOrderOnly#584734, splitIndicator#584736L, previousOrderProposal#584737L, worklistShardItemId#584740L, orderProposalItemGroupId#584741, externalProductId#584742, externalPlantId#584743, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, minimumOrderQuantity#584747, constraintLabels#584748, constraintOperators#584749, constraintValues#584750, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, measurements#584758, originalReplenishmentRunId#584759L, optimizationGroups#584760, shardId#584761, sequenceId#584739]
Condition : isnotnull(worklistShardItemId#584740L)
(18) Project [codegen id : 3]
Output [36]: [orderProposalId#584717L, orderProposalItemId#584718, supplierGroup#584719, supplier#584720, plant#584721, deliveryDateTime#584722, subrange#584723, supplyingPlant#584724, productGroup#584725, product#584726, orderDateTime#584727, availabilityDateTime#584728, nextAvailabilityDateTime#584729, sourceOfSupplyUuid#584731, isFallbackOrderOnly#584734, splitIndicator#584736L, previousOrderProposal#584737L, worklistShardItemId#584740L, orderProposalItemGroupId#584741, externalProductId#584742, externalPlantId#584743, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, minimumOrderQuantity#584747, constraintLabels#584748, constraintOperators#584749, constraintValues#584750, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, measurements#584758, originalReplenishmentRunId#584759L, optimizationGroups#584760]
Input [38]: [orderProposalId#584717L, orderProposalItemId#584718, supplierGroup#584719, supplier#584720, plant#584721, deliveryDateTime#584722, subrange#584723, supplyingPlant#584724, productGroup#584725, product#584726, orderDateTime#584727, availabilityDateTime#584728, nextAvailabilityDateTime#584729, sourceOfSupplyUuid#584731, isFallbackOrderOnly#584734, splitIndicator#584736L, previousOrderProposal#584737L, worklistShardItemId#584740L, orderProposalItemGroupId#584741, externalProductId#584742, externalPlantId#584743, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, minimumOrderQuantity#584747, constraintLabels#584748, constraintOperators#584749, constraintValues#584750, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, measurements#584758, originalReplenishmentRunId#584759L, optimizationGroups#584760, shardId#584761, sequenceId#584739]
(19) Exchange
Input [36]: [orderProposalId#584717L, orderProposalItemId#584718, supplierGroup#584719, supplier#584720, plant#584721, deliveryDateTime#584722, subrange#584723, supplyingPlant#584724, productGroup#584725, product#584726, orderDateTime#584727, availabilityDateTime#584728, nextAvailabilityDateTime#584729, sourceOfSupplyUuid#584731, isFallbackOrderOnly#584734, splitIndicator#584736L, previousOrderProposal#584737L, worklistShardItemId#584740L, orderProposalItemGroupId#584741, externalProductId#584742, externalPlantId#584743, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, minimumOrderQuantity#584747, constraintLabels#584748, constraintOperators#584749, constraintValues#584750, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, measurements#584758, originalReplenishmentRunId#584759L, optimizationGroups#584760]
Arguments: hashpartitioning(worklistShardItemId#584740L, 20), REPARTITION_BY_NUM, [plan_id=248644]
(20) Project [codegen id : 4]
Output [36]: [worklistShardItemId#584740L, orderProposalId#584717L, orderProposalItemId#584718, orderProposalItemGroupId#584741, originalReplenishmentRunId#584759L, splitIndicator#584736L, previousOrderProposal#584737L, sourceOfSupplyUuid#584731, supplierGroup#584719, supplier#584720, subrange#584723, product#584726, plant#584721, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, isFallbackOrderOnly#584734, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, netPriceAmount#584753, netPriceCurrencyCode#584754, measurements#584758, minimumOrderQuantity#584747, constraintLabels#584748, constraintOperators#584749, constraintValues#584750, logisticUnits#584744, optimizationGroups#584760, externalProductId#584742, externalPlantId#584743, supplyingPlant#584724, productGroup#584725]
Input [36]: [orderProposalId#584717L, orderProposalItemId#584718, supplierGroup#584719, supplier#584720, plant#584721, deliveryDateTime#584722, subrange#584723, supplyingPlant#584724, productGroup#584725, product#584726, orderDateTime#584727, availabilityDateTime#584728, nextAvailabilityDateTime#584729, sourceOfSupplyUuid#584731, isFallbackOrderOnly#584734, splitIndicator#584736L, previousOrderProposal#584737L, worklistShardItemId#584740L, orderProposalItemGroupId#584741, externalProductId#584742, externalPlantId#584743, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, minimumOrderQuantity#584747, constraintLabels#584748, constraintOperators#584749, constraintValues#584750, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, measurements#584758, originalReplenishmentRunId#584759L, optimizationGroups#584760]
(21) Sort [codegen id : 4]
Input [36]: [worklistShardItemId#584740L, orderProposalId#584717L, orderProposalItemId#584718, orderProposalItemGroupId#584741, originalReplenishmentRunId#584759L, splitIndicator#584736L, previousOrderProposal#584737L, sourceOfSupplyUuid#584731, supplierGroup#584719, supplier#584720, subrange#584723, product#584726, plant#584721, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, isFallbackOrderOnly#584734, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, netPriceAmount#584753, netPriceCurrencyCode#584754, measurements#584758, minimumOrderQuantity#584747, constraintLabels#584748, constraintOperators#584749, constraintValues#584750, logisticUnits#584744, optimizationGroups#584760, externalProductId#584742, externalPlantId#584743, supplyingPlant#584724, productGroup#584725]
Arguments: [worklistShardItemId#584740L ASC NULLS FIRST], false, 0
(22) SortMergeJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#584516L]
Right keys [1]: [worklistShardItemId#584740L]
Join type: LeftOuter
Join condition: (shardId#584004 = 0_1_10000002106)
(23) Project [codegen id : 5]
Output [39]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518, orderProposalId#584717L, originalReplenishmentRunId#584759L, supplierGroup#584719, supplier#584720, supplyingPlant#584724, productGroup#584725, product#584726, plant#584721, subrange#584723, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, constraintValues#584750, constraintOperators#584749, constraintLabels#584748, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, splitIndicator#584736L, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, sourceOfSupplyUuid#584731, minimumOrderQuantity#584747, orderProposalItemId#584718, orderProposalItemGroupId#584741, optimizationGroups#584760, measurements#584758, externalProductId#584742, externalPlantId#584743, previousOrderProposal#584737L, isFallbackOrderOnly#584734]
Input [40]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518, worklistShardItemId#584740L, orderProposalId#584717L, orderProposalItemId#584718, orderProposalItemGroupId#584741, originalReplenishmentRunId#584759L, splitIndicator#584736L, previousOrderProposal#584737L, sourceOfSupplyUuid#584731, supplierGroup#584719, supplier#584720, subrange#584723, product#584726, plant#584721, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, isFallbackOrderOnly#584734, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, netPriceAmount#584753, netPriceCurrencyCode#584754, measurements#584758, minimumOrderQuantity#584747, constraintLabels#584748, constraintOperators#584749, constraintValues#584750, logisticUnits#584744, optimizationGroups#584760, externalProductId#584742, externalPlantId#584743, supplyingPlant#584724, productGroup#584725]
(24) Exchange
Input [39]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518, orderProposalId#584717L, originalReplenishmentRunId#584759L, supplierGroup#584719, supplier#584720, supplyingPlant#584724, productGroup#584725, product#584726, plant#584721, subrange#584723, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, constraintValues#584750, constraintOperators#584749, constraintLabels#584748, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, splitIndicator#584736L, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, sourceOfSupplyUuid#584731, minimumOrderQuantity#584747, orderProposalItemId#584718, orderProposalItemGroupId#584741, optimizationGroups#584760, measurements#584758, externalProductId#584742, externalPlantId#584743, previousOrderProposal#584737L, isFallbackOrderOnly#584734]
Arguments: hashpartitioning(shardId#584004, worklistShardItemId#584516L, 20), ENSURE_REQUIREMENTS, [plan_id=248653]
(25) Sort [codegen id : 6]
Input [39]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518, orderProposalId#584717L, originalReplenishmentRunId#584759L, supplierGroup#584719, supplier#584720, supplyingPlant#584724, productGroup#584725, product#584726, plant#584721, subrange#584723, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, constraintValues#584750, constraintOperators#584749, constraintLabels#584748, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, splitIndicator#584736L, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, sourceOfSupplyUuid#584731, minimumOrderQuantity#584747, orderProposalItemId#584718, orderProposalItemGroupId#584741, optimizationGroups#584760, measurements#584758, externalProductId#584742, externalPlantId#584743, previousOrderProposal#584737L, isFallbackOrderOnly#584734]
Arguments: [shardId#584004 ASC NULLS FIRST, worklistShardItemId#584516L ASC NULLS FIRST], false, 0
(26) Scan ExistingRDD [codegen id : 7]
Output [6]: [shardId#586384, worklistShardItemId#586385L, qty#586386, demandChannel#586387, demandStream#586388, kpis#586389]
Arguments: [shardId#586384, worklistShardItemId#586385L, qty#586386, demandChannel#586387, demandStream#586388, kpis#586389], MapPartitionsRDD[28220] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(27) Filter [codegen id : 7]
Input [6]: [shardId#586384, worklistShardItemId#586385L, qty#586386, demandChannel#586387, demandStream#586388, kpis#586389]
Condition : (((isnull(qty#586386) AND isnull(demandChannel#586387)) AND isnull(demandStream#586388)) AND (isnotnull(shardId#586384) AND isnotnull(worklistShardItemId#586385L)))
(28) Project [codegen id : 7]
Output [3]: [shardId#586384, worklistShardItemId#586385L, coalesce(kpis#586389, []) AS prodLocSpecificKpis#586390]
Input [6]: [shardId#586384, worklistShardItemId#586385L, qty#586386, demandChannel#586387, demandStream#586388, kpis#586389]
(29) Exchange
Input [3]: [shardId#586384, worklistShardItemId#586385L, prodLocSpecificKpis#586390]
Arguments: hashpartitioning(shardId#586384, worklistShardItemId#586385L, 20), ENSURE_REQUIREMENTS, [plan_id=248659]
(30) Sort [codegen id : 8]
Input [3]: [shardId#586384, worklistShardItemId#586385L, prodLocSpecificKpis#586390]
Arguments: [shardId#586384 ASC NULLS FIRST, worklistShardItemId#586385L ASC NULLS FIRST], false, 0
(31) SortMergeJoin [codegen id : 9]
Left keys [2]: [shardId#584004, worklistShardItemId#584516L]
Right keys [2]: [shardId#586384, worklistShardItemId#586385L]
Join type: LeftOuter
Join condition: None
(32) Project [codegen id : 9]
Output [40]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518, orderProposalId#584717L, originalReplenishmentRunId#584759L, supplierGroup#584719, supplier#584720, supplyingPlant#584724, productGroup#584725, product#584726, plant#584721, subrange#584723, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, constraintValues#584750, constraintOperators#584749, constraintLabels#584748, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, splitIndicator#584736L, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, sourceOfSupplyUuid#584731, minimumOrderQuantity#584747, orderProposalItemId#584718, orderProposalItemGroupId#584741, optimizationGroups#584760, measurements#584758, externalProductId#584742, externalPlantId#584743, previousOrderProposal#584737L, isFallbackOrderOnly#584734, coalesce(prodLocSpecificKpis#586390, []) AS prodLocSpecificKpis#586391]
Input [42]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518, orderProposalId#584717L, originalReplenishmentRunId#584759L, supplierGroup#584719, supplier#584720, supplyingPlant#584724, productGroup#584725, product#584726, plant#584721, subrange#584723, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, constraintValues#584750, constraintOperators#584749, constraintLabels#584748, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, splitIndicator#584736L, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, sourceOfSupplyUuid#584731, minimumOrderQuantity#584747, orderProposalItemId#584718, orderProposalItemGroupId#584741, optimizationGroups#584760, measurements#584758, externalProductId#584742, externalPlantId#584743, previousOrderProposal#584737L, isFallbackOrderOnly#584734, shardId#586384, worklistShardItemId#586385L, prodLocSpecificKpis#586390]
(33) Scan ExistingRDD [codegen id : 10]
Output [6]: [shardId#586400, worklistShardItemId#586401L, qty#586402, demandChannel#586403, demandStream#586404, kpis#586405]
Arguments: [shardId#586400, worklistShardItemId#586401L, qty#586402, demandChannel#586403, demandStream#586404, kpis#586405], MapPartitionsRDD[28220] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(34) Filter [codegen id : 10]
Input [6]: [shardId#586400, worklistShardItemId#586401L, qty#586402, demandChannel#586403, demandStream#586404, kpis#586405]
Condition : ((((isnull(qty#586402) AND isnotnull(demandChannel#586403)) AND isnotnull(demandStream#586404)) AND (size(kpis#586405, true) > 0)) AND (isnotnull(shardId#586400) AND isnotnull(worklistShardItemId#586401L)))
(35) Project [codegen id : 10]
Output [5]: [shardId#586400, worklistShardItemId#586401L, demandChannel#586403, demandStream#586404, kpis#586405]
Input [6]: [shardId#586400, worklistShardItemId#586401L, qty#586402, demandChannel#586403, demandStream#586404, kpis#586405]
(36) ObjectHashAggregate
Input [5]: [shardId#586400, worklistShardItemId#586401L, demandChannel#586403, demandStream#586404, kpis#586405]
Keys [2]: [shardId#586400, worklistShardItemId#586401L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#586403, demandStream, demandStream#586404, kpis, kpis#586405), 0, 0)]
Aggregate Attributes [1]: [buf#586756]
Results [3]: [shardId#586400, worklistShardItemId#586401L, buf#586757]
(37) Exchange
Input [3]: [shardId#586400, worklistShardItemId#586401L, buf#586757]
Arguments: hashpartitioning(shardId#586400, worklistShardItemId#586401L, 20), ENSURE_REQUIREMENTS, [plan_id=248670]
(38) ObjectHashAggregate
Input [3]: [shardId#586400, worklistShardItemId#586401L, buf#586757]
Keys [2]: [shardId#586400, worklistShardItemId#586401L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#586403, demandStream, demandStream#586404, kpis, kpis#586405), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#586403, demandStream, demandStream#586404, kpis, kpis#586405), 0, 0)#586399]
Results [3]: [shardId#586400, worklistShardItemId#586401L, collect_list(struct(demandChannel, demandChannel#586403, demandStream, demandStream#586404, kpis, kpis#586405), 0, 0)#586399 AS channelStreamSpecificKpis#586392]
(39) Sort [codegen id : 11]
Input [3]: [shardId#586400, worklistShardItemId#586401L, channelStreamSpecificKpis#586392]
Arguments: [shardId#586400 ASC NULLS FIRST, worklistShardItemId#586401L ASC NULLS FIRST], false, 0
(40) SortMergeJoin [codegen id : 12]
Left keys [2]: [shardId#584004, worklistShardItemId#584516L]
Right keys [2]: [shardId#586400, worklistShardItemId#586401L]
Join type: LeftOuter
Join condition: None
(41) Project [codegen id : 12]
Output [41]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518, orderProposalId#584717L, originalReplenishmentRunId#584759L, supplierGroup#584719, supplier#584720, supplyingPlant#584724, productGroup#584725, product#584726, plant#584721, subrange#584723, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, constraintValues#584750, constraintOperators#584749, constraintLabels#584748, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, splitIndicator#584736L, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, sourceOfSupplyUuid#584731, minimumOrderQuantity#584747, orderProposalItemId#584718, orderProposalItemGroupId#584741, optimizationGroups#584760, measurements#584758, externalProductId#584742, externalPlantId#584743, previousOrderProposal#584737L, isFallbackOrderOnly#584734, prodLocSpecificKpis#586391, coalesce(channelStreamSpecificKpis#586392, []) AS channelStreamSpecificKpis#586406]
Input [43]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518, orderProposalId#584717L, originalReplenishmentRunId#584759L, supplierGroup#584719, supplier#584720, supplyingPlant#584724, productGroup#584725, product#584726, plant#584721, subrange#584723, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, constraintValues#584750, constraintOperators#584749, constraintLabels#584748, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, splitIndicator#584736L, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, sourceOfSupplyUuid#584731, minimumOrderQuantity#584747, orderProposalItemId#584718, orderProposalItemGroupId#584741, optimizationGroups#584760, measurements#584758, externalProductId#584742, externalPlantId#584743, previousOrderProposal#584737L, isFallbackOrderOnly#584734, prodLocSpecificKpis#586391, shardId#586400, worklistShardItemId#586401L, channelStreamSpecificKpis#586392]
(42) Scan ExistingRDD [codegen id : 13]
Output [6]: [shardId#586413, worklistShardItemId#586414L, qty#586415, demandChannel#586416, demandStream#586417, kpis#586418]
Arguments: [shardId#586413, worklistShardItemId#586414L, qty#586415, demandChannel#586416, demandStream#586417, kpis#586418], MapPartitionsRDD[28220] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(43) Filter [codegen id : 13]
Input [6]: [shardId#586413, worklistShardItemId#586414L, qty#586415, demandChannel#586416, demandStream#586417, kpis#586418]
Condition : ((isnotnull(qty#586415) AND isnotnull(kpis#586418)) AND (isnotnull(shardId#586413) AND isnotnull(worklistShardItemId#586414L)))
(44) Project [codegen id : 13]
Output [4]: [shardId#586413, worklistShardItemId#586414L, qty#586415, kpis#586418]
Input [6]: [shardId#586413, worklistShardItemId#586414L, qty#586415, demandChannel#586416, demandStream#586417, kpis#586418]
(45) ObjectHashAggregate
Input [4]: [shardId#586413, worklistShardItemId#586414L, qty#586415, kpis#586418]
Keys [2]: [shardId#586413, worklistShardItemId#586414L]
Functions [1]: [partial_collect_list(struct(qty, qty#586415, kpis, kpis#586418), 0, 0)]
Aggregate Attributes [1]: [buf#586758]
Results [3]: [shardId#586413, worklistShardItemId#586414L, buf#586759]
(46) Exchange
Input [3]: [shardId#586413, worklistShardItemId#586414L, buf#586759]
Arguments: hashpartitioning(shardId#586413, worklistShardItemId#586414L, 20), ENSURE_REQUIREMENTS, [plan_id=248682]
(47) ObjectHashAggregate
Input [3]: [shardId#586413, worklistShardItemId#586414L, buf#586759]
Keys [2]: [shardId#586413, worklistShardItemId#586414L]
Functions [1]: [collect_list(struct(qty, qty#586415, kpis, kpis#586418), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#586415, kpis, kpis#586418), 0, 0)#586412]
Results [3]: [shardId#586413, worklistShardItemId#586414L, map_from_entries(collect_list(struct(qty, qty#586415, kpis, kpis#586418), 0, 0)#586412) AS quantityKpis#586407]
(48) Sort [codegen id : 14]
Input [3]: [shardId#586413, worklistShardItemId#586414L, quantityKpis#586407]
Arguments: [shardId#586413 ASC NULLS FIRST, worklistShardItemId#586414L ASC NULLS FIRST], false, 0
(49) SortMergeJoin [codegen id : 15]
Left keys [2]: [shardId#584004, worklistShardItemId#584516L]
Right keys [2]: [shardId#586413, worklistShardItemId#586414L]
Join type: LeftOuter
Join condition: None
(50) Project [codegen id : 15]
Output [42]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518, orderProposalId#584717L, originalReplenishmentRunId#584759L, supplierGroup#584719, supplier#584720, supplyingPlant#584724, productGroup#584725, product#584726, plant#584721, subrange#584723, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, constraintValues#584750, constraintOperators#584749, constraintLabels#584748, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, splitIndicator#584736L, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, sourceOfSupplyUuid#584731, minimumOrderQuantity#584747, orderProposalItemId#584718, orderProposalItemGroupId#584741, optimizationGroups#584760, measurements#584758, externalProductId#584742, externalPlantId#584743, previousOrderProposal#584737L, isFallbackOrderOnly#584734, prodLocSpecificKpis#586391, channelStreamSpecificKpis#586406, coalesce(quantityKpis#586407, map(keys: [], values: [])) AS quantityKpis#586419]
Input [44]: [shardId#584004, worklistShardItemId#584516L, quantityAfterProdPlantOptimization#584517, qty#584518, orderProposalId#584717L, originalReplenishmentRunId#584759L, supplierGroup#584719, supplier#584720, supplyingPlant#584724, productGroup#584725, product#584726, plant#584721, subrange#584723, orderDateTime#584727, deliveryDateTime#584722, availabilityDateTime#584728, nextAvailabilityDateTime#584729, constraintValues#584750, constraintOperators#584749, constraintLabels#584748, logisticUnits#584744, orderQuantityBaseUom#584745, orderQuantityBaseUomUuid#584746, splitIndicator#584736L, netPriceAmount#584753, netPriceCurrencyCode#584754, netPriceQuantity#584755, netPriceQuantityUom#584756, netPriceQuantityUomUuid#584757, sourceOfSupplyUuid#584731, minimumOrderQuantity#584747, orderProposalItemId#584718, orderProposalItemGroupId#584741, optimizationGroups#584760, measurements#584758, externalProductId#584742, externalPlantId#584743, previousOrderProposal#584737L, isFallbackOrderOnly#584734, prodLocSpecificKpis#586391, channelStreamSpecificKpis#586406, shardId#586413, worklistShardItemId#586414L, quantityKpis#586407]
(51) Filter [codegen id : 1]
Input [2]: [quantityKpis#586419, shardId#584004]
Condition : ((isnotnull(shardId#584004) AND (shardId#584004 = 0_1_10000002106)) AND (size(quantityKpis#586419, true) > 0))
(52) Project [codegen id : 1]
Output [1]: [quantityKpis#586419]
Input [2]: [quantityKpis#586419, shardId#584004]
(53) Generate [codegen id : 1]
Input [1]: [quantityKpis#586419]
Arguments: explode(quantityKpis#586419), false, [orderQuantityInBaseUnit#591596, kpis#591597]
(54) Project [codegen id : 1]
Output: []
Input [2]: [orderQuantityInBaseUnit#591596, kpis#591597]
(55) CollectLimit
Input: []
Arguments: 1