== Physical Plan ==
CollectLimit (53)
+- * Project (52)
+- * Generate (51)
+- * Project (50)
+- * Filter (49)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- * Project (48)
+- * SortMergeJoin LeftOuter (47)
:- * Project (39)
: +- * SortMergeJoin LeftOuter (38)
: :- * Project (30)
: : +- * SortMergeJoin LeftOuter (29)
: : :- * Sort (23)
: : : +- Exchange (22)
: : : +- * Project (21)
: : : +- * BroadcastHashJoin LeftOuter BuildRight (20)
: : : :- * Project (12)
: : : : +- * Generate (11)
: : : : +- * Filter (10)
: : : : +- InMemoryTableScan (3)
: : : : +- InMemoryRelation (4)
: : : : +- * Filter (9)
: : : : +- InMemoryTableScan (5)
: : : : +- InMemoryRelation (6)
: : : : +- * Filter (8)
: : : : +- * Scan ExistingRDD (7)
: : : +- BroadcastExchange (19)
: : : +- * Project (18)
: : : +- Exchange (17)
: : : +- * Project (16)
: : : +- * Filter (15)
: : : +- * ColumnarToRow (14)
: : : +- Scan parquet (13)
: : +- * Sort (28)
: : +- Exchange (27)
: : +- * Project (26)
: : +- * Filter (25)
: : +- * Scan ExistingRDD (24)
: +- * Sort (37)
: +- ObjectHashAggregate (36)
: +- Exchange (35)
: +- ObjectHashAggregate (34)
: +- * Project (33)
: +- * Filter (32)
: +- * Scan ExistingRDD (31)
+- * Sort (46)
+- ObjectHashAggregate (45)
+- Exchange (44)
+- ObjectHashAggregate (43)
+- * Project (42)
+- * Filter (41)
+- * Scan ExistingRDD (40)
(1) InMemoryTableScan
Output [2]: [quantityKpis#982472, shardId#981205]
Arguments: [quantityKpis#982472, shardId#981205], [isnotnull(shardId#981205), (shardId#981205 = 0_1_10000002110), (size(quantityKpis#982472, true) > 0)]
(2) InMemoryRelation
Arguments: [shardId#981205, worklistShardItemId#981717L, quantityAfterProdPlantOptimization#981718, qty#981719, orderProposalId#981875L, originalReplenishmentRunId#981878L, supplierGroup#981885, supplier#981886, supplyingPlant#981916, productGroup#981917, product#981888, plant#981889, subrange#981887, orderDateTime#981893, deliveryDateTime#981894, availabilityDateTime#981895, nextAvailabilityDateTime#981896, constraintValues#981910, constraintOperators#981908, constraintLabels#981907, logisticUnits#981912, orderQuantityBaseUom#981898, orderQuantityBaseUomUuid#981899, splitIndicator#981880L, netPriceAmount#981903, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [2]: [shardId#981205, items#981207]
Arguments: [shardId#981205, items#981207], [(size(items#981207, true) > 0), isnotnull(items#981207)]
(4) InMemoryRelation
Arguments: [shardId#981205, orderProposalId#981206L, items#981207, optimizationGroups#981208, isOptimal#981209, optimizationInsights#981211], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [6]: [shardId#981205, orderProposalId#981206L, items#981207, optimizationGroups#981208, isOptimal#981209, optimizationInsights#981211]
Arguments: [shardId#981205, orderProposalId#981206L, items#981207, optimizationGroups#981208, isOptimal#981209, optimizationInsights#981211], [isnotnull(shardId#981205), (shardId#981205 = 0_1_10000002110)]
(6) InMemoryRelation
Arguments: [shardId#981205, orderProposalId#981206L, items#981207, optimizationGroups#981208, isOptimal#981209, lastModified#981210, optimizationInsights#981211], StorageLevel(disk, memory, 2 replicas)
(7) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#981205, orderProposalId#981206L, items#981207, optimizationGroups#981208, isOptimal#981209, lastModified#981210, optimizationInsights#981211]
Arguments: [shardId#981205, orderProposalId#981206L, items#981207, optimizationGroups#981208, isOptimal#981209, lastModified#981210, optimizationInsights#981211], MapPartitionsRDD[46018] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(8) Filter [codegen id : 1]
Input [7]: [shardId#981205, orderProposalId#981206L, items#981207, optimizationGroups#981208, isOptimal#981209, lastModified#981210, optimizationInsights#981211]
Condition : (isnotnull(shardId#981205) AND (shardId#981205 = 0_1_10000002110))
(9) Filter [codegen id : 1]
Input [6]: [shardId#981205, orderProposalId#981206L, items#981207, optimizationGroups#981208, isOptimal#981209, optimizationInsights#981211]
Condition : (isnotnull(shardId#981205) AND (shardId#981205 = 0_1_10000002110))
(10) Filter [codegen id : 3]
Input [2]: [shardId#981205, items#981207]
Condition : ((size(items#981207, true) > 0) AND isnotnull(items#981207))
(11) Generate [codegen id : 3]
Input [2]: [shardId#981205, items#981207]
Arguments: explode(items#981207), [shardId#981205], false, [item#981716]
(12) Project [codegen id : 3]
Output [4]: [shardId#981205, item#981716.worklistShardItemId AS worklistShardItemId#981717L, item#981716.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#981718, item#981716.qty AS qty#981719]
Input [2]: [shardId#981205, item#981716]
(13) Scan parquet
Output [38]: [orderProposalId#981918L, orderProposalItemId#981919, supplierGroup#981920, supplier#981921, plant#981922, deliveryDateTime#981923, subrange#981924, supplyingPlant#981925, productGroup#981926, product#981927, orderDateTime#981928, availabilityDateTime#981929, nextAvailabilityDateTime#981930, sourceOfSupplyUuid#981932, isFallbackOrderOnly#981935, splitIndicator#981937L, previousOrderProposal#981938L, worklistShardItemId#981941L, orderProposalItemGroupId#981942, externalProductId#981943, externalPlantId#981944, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, minimumOrderQuantity#981948, constraintLabels#981949, constraintOperators#981950, constraintValues#981951, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, measurements#981959, originalReplenishmentRunId#981960L, optimizationGroups#981961, shardId#981962, sequenceId#981940]
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/10000002110]
PartitionFilters: [isnotnull(shardId#981962), isnotnull(sequenceId#981940), (shardId#981962 = 0_1_10000002110), (sequenceId#981940 = 2)]
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>>
(14) ColumnarToRow [codegen id : 1]
Input [38]: [orderProposalId#981918L, orderProposalItemId#981919, supplierGroup#981920, supplier#981921, plant#981922, deliveryDateTime#981923, subrange#981924, supplyingPlant#981925, productGroup#981926, product#981927, orderDateTime#981928, availabilityDateTime#981929, nextAvailabilityDateTime#981930, sourceOfSupplyUuid#981932, isFallbackOrderOnly#981935, splitIndicator#981937L, previousOrderProposal#981938L, worklistShardItemId#981941L, orderProposalItemGroupId#981942, externalProductId#981943, externalPlantId#981944, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, minimumOrderQuantity#981948, constraintLabels#981949, constraintOperators#981950, constraintValues#981951, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, measurements#981959, originalReplenishmentRunId#981960L, optimizationGroups#981961, shardId#981962, sequenceId#981940]
(15) Filter [codegen id : 1]
Input [38]: [orderProposalId#981918L, orderProposalItemId#981919, supplierGroup#981920, supplier#981921, plant#981922, deliveryDateTime#981923, subrange#981924, supplyingPlant#981925, productGroup#981926, product#981927, orderDateTime#981928, availabilityDateTime#981929, nextAvailabilityDateTime#981930, sourceOfSupplyUuid#981932, isFallbackOrderOnly#981935, splitIndicator#981937L, previousOrderProposal#981938L, worklistShardItemId#981941L, orderProposalItemGroupId#981942, externalProductId#981943, externalPlantId#981944, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, minimumOrderQuantity#981948, constraintLabels#981949, constraintOperators#981950, constraintValues#981951, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, measurements#981959, originalReplenishmentRunId#981960L, optimizationGroups#981961, shardId#981962, sequenceId#981940]
Condition : isnotnull(worklistShardItemId#981941L)
(16) Project [codegen id : 1]
Output [36]: [orderProposalId#981918L, orderProposalItemId#981919, supplierGroup#981920, supplier#981921, plant#981922, deliveryDateTime#981923, subrange#981924, supplyingPlant#981925, productGroup#981926, product#981927, orderDateTime#981928, availabilityDateTime#981929, nextAvailabilityDateTime#981930, sourceOfSupplyUuid#981932, isFallbackOrderOnly#981935, splitIndicator#981937L, previousOrderProposal#981938L, worklistShardItemId#981941L, orderProposalItemGroupId#981942, externalProductId#981943, externalPlantId#981944, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, minimumOrderQuantity#981948, constraintLabels#981949, constraintOperators#981950, constraintValues#981951, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, measurements#981959, originalReplenishmentRunId#981960L, optimizationGroups#981961]
Input [38]: [orderProposalId#981918L, orderProposalItemId#981919, supplierGroup#981920, supplier#981921, plant#981922, deliveryDateTime#981923, subrange#981924, supplyingPlant#981925, productGroup#981926, product#981927, orderDateTime#981928, availabilityDateTime#981929, nextAvailabilityDateTime#981930, sourceOfSupplyUuid#981932, isFallbackOrderOnly#981935, splitIndicator#981937L, previousOrderProposal#981938L, worklistShardItemId#981941L, orderProposalItemGroupId#981942, externalProductId#981943, externalPlantId#981944, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, minimumOrderQuantity#981948, constraintLabels#981949, constraintOperators#981950, constraintValues#981951, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, measurements#981959, originalReplenishmentRunId#981960L, optimizationGroups#981961, shardId#981962, sequenceId#981940]
(17) Exchange
Input [36]: [orderProposalId#981918L, orderProposalItemId#981919, supplierGroup#981920, supplier#981921, plant#981922, deliveryDateTime#981923, subrange#981924, supplyingPlant#981925, productGroup#981926, product#981927, orderDateTime#981928, availabilityDateTime#981929, nextAvailabilityDateTime#981930, sourceOfSupplyUuid#981932, isFallbackOrderOnly#981935, splitIndicator#981937L, previousOrderProposal#981938L, worklistShardItemId#981941L, orderProposalItemGroupId#981942, externalProductId#981943, externalPlantId#981944, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, minimumOrderQuantity#981948, constraintLabels#981949, constraintOperators#981950, constraintValues#981951, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, measurements#981959, originalReplenishmentRunId#981960L, optimizationGroups#981961]
Arguments: hashpartitioning(worklistShardItemId#981941L, 20), REPARTITION_BY_NUM, [plan_id=381895]
(18) Project [codegen id : 2]
Output [36]: [worklistShardItemId#981941L, orderProposalId#981918L, orderProposalItemId#981919, orderProposalItemGroupId#981942, originalReplenishmentRunId#981960L, splitIndicator#981937L, previousOrderProposal#981938L, sourceOfSupplyUuid#981932, supplierGroup#981920, supplier#981921, subrange#981924, product#981927, plant#981922, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, isFallbackOrderOnly#981935, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, netPriceAmount#981954, netPriceCurrencyCode#981955, measurements#981959, minimumOrderQuantity#981948, constraintLabels#981949, constraintOperators#981950, constraintValues#981951, logisticUnits#981945, optimizationGroups#981961, externalProductId#981943, externalPlantId#981944, supplyingPlant#981925, productGroup#981926]
Input [36]: [orderProposalId#981918L, orderProposalItemId#981919, supplierGroup#981920, supplier#981921, plant#981922, deliveryDateTime#981923, subrange#981924, supplyingPlant#981925, productGroup#981926, product#981927, orderDateTime#981928, availabilityDateTime#981929, nextAvailabilityDateTime#981930, sourceOfSupplyUuid#981932, isFallbackOrderOnly#981935, splitIndicator#981937L, previousOrderProposal#981938L, worklistShardItemId#981941L, orderProposalItemGroupId#981942, externalProductId#981943, externalPlantId#981944, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, minimumOrderQuantity#981948, constraintLabels#981949, constraintOperators#981950, constraintValues#981951, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, measurements#981959, originalReplenishmentRunId#981960L, optimizationGroups#981961]
(19) BroadcastExchange
Input [36]: [worklistShardItemId#981941L, orderProposalId#981918L, orderProposalItemId#981919, orderProposalItemGroupId#981942, originalReplenishmentRunId#981960L, splitIndicator#981937L, previousOrderProposal#981938L, sourceOfSupplyUuid#981932, supplierGroup#981920, supplier#981921, subrange#981924, product#981927, plant#981922, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, isFallbackOrderOnly#981935, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, netPriceAmount#981954, netPriceCurrencyCode#981955, measurements#981959, minimumOrderQuantity#981948, constraintLabels#981949, constraintOperators#981950, constraintValues#981951, logisticUnits#981945, optimizationGroups#981961, externalProductId#981943, externalPlantId#981944, supplyingPlant#981925, productGroup#981926]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=381899]
(20) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#981717L]
Right keys [1]: [worklistShardItemId#981941L]
Join type: LeftOuter
Join condition: (shardId#981205 = 0_1_10000002110)
(21) Project [codegen id : 3]
Output [39]: [shardId#981205, worklistShardItemId#981717L, quantityAfterProdPlantOptimization#981718, qty#981719, orderProposalId#981918L, originalReplenishmentRunId#981960L, supplierGroup#981920, supplier#981921, supplyingPlant#981925, productGroup#981926, product#981927, plant#981922, subrange#981924, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, constraintValues#981951, constraintOperators#981950, constraintLabels#981949, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, splitIndicator#981937L, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, sourceOfSupplyUuid#981932, minimumOrderQuantity#981948, orderProposalItemId#981919, orderProposalItemGroupId#981942, optimizationGroups#981961, measurements#981959, externalProductId#981943, externalPlantId#981944, previousOrderProposal#981938L, isFallbackOrderOnly#981935]
Input [40]: [shardId#981205, worklistShardItemId#981717L, quantityAfterProdPlantOptimization#981718, qty#981719, worklistShardItemId#981941L, orderProposalId#981918L, orderProposalItemId#981919, orderProposalItemGroupId#981942, originalReplenishmentRunId#981960L, splitIndicator#981937L, previousOrderProposal#981938L, sourceOfSupplyUuid#981932, supplierGroup#981920, supplier#981921, subrange#981924, product#981927, plant#981922, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, isFallbackOrderOnly#981935, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, netPriceAmount#981954, netPriceCurrencyCode#981955, measurements#981959, minimumOrderQuantity#981948, constraintLabels#981949, constraintOperators#981950, constraintValues#981951, logisticUnits#981945, optimizationGroups#981961, externalProductId#981943, externalPlantId#981944, supplyingPlant#981925, productGroup#981926]
(22) Exchange
Input [39]: [shardId#981205, worklistShardItemId#981717L, quantityAfterProdPlantOptimization#981718, qty#981719, orderProposalId#981918L, originalReplenishmentRunId#981960L, supplierGroup#981920, supplier#981921, supplyingPlant#981925, productGroup#981926, product#981927, plant#981922, subrange#981924, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, constraintValues#981951, constraintOperators#981950, constraintLabels#981949, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, splitIndicator#981937L, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, sourceOfSupplyUuid#981932, minimumOrderQuantity#981948, orderProposalItemId#981919, orderProposalItemGroupId#981942, optimizationGroups#981961, measurements#981959, externalProductId#981943, externalPlantId#981944, previousOrderProposal#981938L, isFallbackOrderOnly#981935]
Arguments: hashpartitioning(shardId#981205, worklistShardItemId#981717L, 20), ENSURE_REQUIREMENTS, [plan_id=381904]
(23) Sort [codegen id : 4]
Input [39]: [shardId#981205, worklistShardItemId#981717L, quantityAfterProdPlantOptimization#981718, qty#981719, orderProposalId#981918L, originalReplenishmentRunId#981960L, supplierGroup#981920, supplier#981921, supplyingPlant#981925, productGroup#981926, product#981927, plant#981922, subrange#981924, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, constraintValues#981951, constraintOperators#981950, constraintLabels#981949, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, splitIndicator#981937L, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, sourceOfSupplyUuid#981932, minimumOrderQuantity#981948, orderProposalItemId#981919, orderProposalItemGroupId#981942, optimizationGroups#981961, measurements#981959, externalProductId#981943, externalPlantId#981944, previousOrderProposal#981938L, isFallbackOrderOnly#981935]
Arguments: [shardId#981205 ASC NULLS FIRST, worklistShardItemId#981717L ASC NULLS FIRST], false, 0
(24) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#982437, worklistShardItemId#982438L, qty#982439, demandChannel#982440, demandStream#982441, kpis#982442]
Arguments: [shardId#982437, worklistShardItemId#982438L, qty#982439, demandChannel#982440, demandStream#982441, kpis#982442], MapPartitionsRDD[46078] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(25) Filter [codegen id : 5]
Input [6]: [shardId#982437, worklistShardItemId#982438L, qty#982439, demandChannel#982440, demandStream#982441, kpis#982442]
Condition : (((isnull(qty#982439) AND isnull(demandChannel#982440)) AND isnull(demandStream#982441)) AND (isnotnull(shardId#982437) AND isnotnull(worklistShardItemId#982438L)))
(26) Project [codegen id : 5]
Output [3]: [shardId#982437, worklistShardItemId#982438L, coalesce(kpis#982442, []) AS prodLocSpecificKpis#982443]
Input [6]: [shardId#982437, worklistShardItemId#982438L, qty#982439, demandChannel#982440, demandStream#982441, kpis#982442]
(27) Exchange
Input [3]: [shardId#982437, worklistShardItemId#982438L, prodLocSpecificKpis#982443]
Arguments: hashpartitioning(shardId#982437, worklistShardItemId#982438L, 20), ENSURE_REQUIREMENTS, [plan_id=381910]
(28) Sort [codegen id : 6]
Input [3]: [shardId#982437, worklistShardItemId#982438L, prodLocSpecificKpis#982443]
Arguments: [shardId#982437 ASC NULLS FIRST, worklistShardItemId#982438L ASC NULLS FIRST], false, 0
(29) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#981205, worklistShardItemId#981717L]
Right keys [2]: [shardId#982437, worklistShardItemId#982438L]
Join type: LeftOuter
Join condition: None
(30) Project [codegen id : 7]
Output [40]: [shardId#981205, worklistShardItemId#981717L, quantityAfterProdPlantOptimization#981718, qty#981719, orderProposalId#981918L, originalReplenishmentRunId#981960L, supplierGroup#981920, supplier#981921, supplyingPlant#981925, productGroup#981926, product#981927, plant#981922, subrange#981924, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, constraintValues#981951, constraintOperators#981950, constraintLabels#981949, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, splitIndicator#981937L, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, sourceOfSupplyUuid#981932, minimumOrderQuantity#981948, orderProposalItemId#981919, orderProposalItemGroupId#981942, optimizationGroups#981961, measurements#981959, externalProductId#981943, externalPlantId#981944, previousOrderProposal#981938L, isFallbackOrderOnly#981935, coalesce(prodLocSpecificKpis#982443, []) AS prodLocSpecificKpis#982444]
Input [42]: [shardId#981205, worklistShardItemId#981717L, quantityAfterProdPlantOptimization#981718, qty#981719, orderProposalId#981918L, originalReplenishmentRunId#981960L, supplierGroup#981920, supplier#981921, supplyingPlant#981925, productGroup#981926, product#981927, plant#981922, subrange#981924, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, constraintValues#981951, constraintOperators#981950, constraintLabels#981949, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, splitIndicator#981937L, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, sourceOfSupplyUuid#981932, minimumOrderQuantity#981948, orderProposalItemId#981919, orderProposalItemGroupId#981942, optimizationGroups#981961, measurements#981959, externalProductId#981943, externalPlantId#981944, previousOrderProposal#981938L, isFallbackOrderOnly#981935, shardId#982437, worklistShardItemId#982438L, prodLocSpecificKpis#982443]
(31) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#982453, worklistShardItemId#982454L, qty#982455, demandChannel#982456, demandStream#982457, kpis#982458]
Arguments: [shardId#982453, worklistShardItemId#982454L, qty#982455, demandChannel#982456, demandStream#982457, kpis#982458], MapPartitionsRDD[46078] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(32) Filter [codegen id : 8]
Input [6]: [shardId#982453, worklistShardItemId#982454L, qty#982455, demandChannel#982456, demandStream#982457, kpis#982458]
Condition : ((((isnull(qty#982455) AND isnotnull(demandChannel#982456)) AND isnotnull(demandStream#982457)) AND (size(kpis#982458, true) > 0)) AND (isnotnull(shardId#982453) AND isnotnull(worklistShardItemId#982454L)))
(33) Project [codegen id : 8]
Output [5]: [shardId#982453, worklistShardItemId#982454L, demandChannel#982456, demandStream#982457, kpis#982458]
Input [6]: [shardId#982453, worklistShardItemId#982454L, qty#982455, demandChannel#982456, demandStream#982457, kpis#982458]
(34) ObjectHashAggregate
Input [5]: [shardId#982453, worklistShardItemId#982454L, demandChannel#982456, demandStream#982457, kpis#982458]
Keys [2]: [shardId#982453, worklistShardItemId#982454L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#982456, demandStream, demandStream#982457, kpis, kpis#982458), 0, 0)]
Aggregate Attributes [1]: [buf#982633]
Results [3]: [shardId#982453, worklistShardItemId#982454L, buf#982634]
(35) Exchange
Input [3]: [shardId#982453, worklistShardItemId#982454L, buf#982634]
Arguments: hashpartitioning(shardId#982453, worklistShardItemId#982454L, 20), ENSURE_REQUIREMENTS, [plan_id=381921]
(36) ObjectHashAggregate
Input [3]: [shardId#982453, worklistShardItemId#982454L, buf#982634]
Keys [2]: [shardId#982453, worklistShardItemId#982454L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#982456, demandStream, demandStream#982457, kpis, kpis#982458), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#982456, demandStream, demandStream#982457, kpis, kpis#982458), 0, 0)#982452]
Results [3]: [shardId#982453, worklistShardItemId#982454L, collect_list(struct(demandChannel, demandChannel#982456, demandStream, demandStream#982457, kpis, kpis#982458), 0, 0)#982452 AS channelStreamSpecificKpis#982445]
(37) Sort [codegen id : 9]
Input [3]: [shardId#982453, worklistShardItemId#982454L, channelStreamSpecificKpis#982445]
Arguments: [shardId#982453 ASC NULLS FIRST, worklistShardItemId#982454L ASC NULLS FIRST], false, 0
(38) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#981205, worklistShardItemId#981717L]
Right keys [2]: [shardId#982453, worklistShardItemId#982454L]
Join type: LeftOuter
Join condition: None
(39) Project [codegen id : 10]
Output [41]: [shardId#981205, worklistShardItemId#981717L, quantityAfterProdPlantOptimization#981718, qty#981719, orderProposalId#981918L, originalReplenishmentRunId#981960L, supplierGroup#981920, supplier#981921, supplyingPlant#981925, productGroup#981926, product#981927, plant#981922, subrange#981924, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, constraintValues#981951, constraintOperators#981950, constraintLabels#981949, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, splitIndicator#981937L, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, sourceOfSupplyUuid#981932, minimumOrderQuantity#981948, orderProposalItemId#981919, orderProposalItemGroupId#981942, optimizationGroups#981961, measurements#981959, externalProductId#981943, externalPlantId#981944, previousOrderProposal#981938L, isFallbackOrderOnly#981935, prodLocSpecificKpis#982444, coalesce(channelStreamSpecificKpis#982445, []) AS channelStreamSpecificKpis#982459]
Input [43]: [shardId#981205, worklistShardItemId#981717L, quantityAfterProdPlantOptimization#981718, qty#981719, orderProposalId#981918L, originalReplenishmentRunId#981960L, supplierGroup#981920, supplier#981921, supplyingPlant#981925, productGroup#981926, product#981927, plant#981922, subrange#981924, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, constraintValues#981951, constraintOperators#981950, constraintLabels#981949, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, splitIndicator#981937L, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, sourceOfSupplyUuid#981932, minimumOrderQuantity#981948, orderProposalItemId#981919, orderProposalItemGroupId#981942, optimizationGroups#981961, measurements#981959, externalProductId#981943, externalPlantId#981944, previousOrderProposal#981938L, isFallbackOrderOnly#981935, prodLocSpecificKpis#982444, shardId#982453, worklistShardItemId#982454L, channelStreamSpecificKpis#982445]
(40) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#982466, worklistShardItemId#982467L, qty#982468, demandChannel#982469, demandStream#982470, kpis#982471]
Arguments: [shardId#982466, worklistShardItemId#982467L, qty#982468, demandChannel#982469, demandStream#982470, kpis#982471], MapPartitionsRDD[46078] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(41) Filter [codegen id : 11]
Input [6]: [shardId#982466, worklistShardItemId#982467L, qty#982468, demandChannel#982469, demandStream#982470, kpis#982471]
Condition : ((isnotnull(qty#982468) AND isnotnull(kpis#982471)) AND (isnotnull(shardId#982466) AND isnotnull(worklistShardItemId#982467L)))
(42) Project [codegen id : 11]
Output [4]: [shardId#982466, worklistShardItemId#982467L, qty#982468, kpis#982471]
Input [6]: [shardId#982466, worklistShardItemId#982467L, qty#982468, demandChannel#982469, demandStream#982470, kpis#982471]
(43) ObjectHashAggregate
Input [4]: [shardId#982466, worklistShardItemId#982467L, qty#982468, kpis#982471]
Keys [2]: [shardId#982466, worklistShardItemId#982467L]
Functions [1]: [partial_collect_list(struct(qty, qty#982468, kpis, kpis#982471), 0, 0)]
Aggregate Attributes [1]: [buf#982635]
Results [3]: [shardId#982466, worklistShardItemId#982467L, buf#982636]
(44) Exchange
Input [3]: [shardId#982466, worklistShardItemId#982467L, buf#982636]
Arguments: hashpartitioning(shardId#982466, worklistShardItemId#982467L, 20), ENSURE_REQUIREMENTS, [plan_id=381933]
(45) ObjectHashAggregate
Input [3]: [shardId#982466, worklistShardItemId#982467L, buf#982636]
Keys [2]: [shardId#982466, worklistShardItemId#982467L]
Functions [1]: [collect_list(struct(qty, qty#982468, kpis, kpis#982471), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#982468, kpis, kpis#982471), 0, 0)#982465]
Results [3]: [shardId#982466, worklistShardItemId#982467L, map_from_entries(collect_list(struct(qty, qty#982468, kpis, kpis#982471), 0, 0)#982465) AS quantityKpis#982460]
(46) Sort [codegen id : 12]
Input [3]: [shardId#982466, worklistShardItemId#982467L, quantityKpis#982460]
Arguments: [shardId#982466 ASC NULLS FIRST, worklistShardItemId#982467L ASC NULLS FIRST], false, 0
(47) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#981205, worklistShardItemId#981717L]
Right keys [2]: [shardId#982466, worklistShardItemId#982467L]
Join type: LeftOuter
Join condition: None
(48) Project [codegen id : 13]
Output [42]: [shardId#981205, worklistShardItemId#981717L, quantityAfterProdPlantOptimization#981718, qty#981719, orderProposalId#981918L, originalReplenishmentRunId#981960L, supplierGroup#981920, supplier#981921, supplyingPlant#981925, productGroup#981926, product#981927, plant#981922, subrange#981924, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, constraintValues#981951, constraintOperators#981950, constraintLabels#981949, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, splitIndicator#981937L, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, sourceOfSupplyUuid#981932, minimumOrderQuantity#981948, orderProposalItemId#981919, orderProposalItemGroupId#981942, optimizationGroups#981961, measurements#981959, externalProductId#981943, externalPlantId#981944, previousOrderProposal#981938L, isFallbackOrderOnly#981935, prodLocSpecificKpis#982444, channelStreamSpecificKpis#982459, coalesce(quantityKpis#982460, map(keys: [], values: [])) AS quantityKpis#982472]
Input [44]: [shardId#981205, worklistShardItemId#981717L, quantityAfterProdPlantOptimization#981718, qty#981719, orderProposalId#981918L, originalReplenishmentRunId#981960L, supplierGroup#981920, supplier#981921, supplyingPlant#981925, productGroup#981926, product#981927, plant#981922, subrange#981924, orderDateTime#981928, deliveryDateTime#981923, availabilityDateTime#981929, nextAvailabilityDateTime#981930, constraintValues#981951, constraintOperators#981950, constraintLabels#981949, logisticUnits#981945, orderQuantityBaseUom#981946, orderQuantityBaseUomUuid#981947, splitIndicator#981937L, netPriceAmount#981954, netPriceCurrencyCode#981955, netPriceQuantity#981956, netPriceQuantityUom#981957, netPriceQuantityUomUuid#981958, sourceOfSupplyUuid#981932, minimumOrderQuantity#981948, orderProposalItemId#981919, orderProposalItemGroupId#981942, optimizationGroups#981961, measurements#981959, externalProductId#981943, externalPlantId#981944, previousOrderProposal#981938L, isFallbackOrderOnly#981935, prodLocSpecificKpis#982444, channelStreamSpecificKpis#982459, shardId#982466, worklistShardItemId#982467L, quantityKpis#982460]
(49) Filter [codegen id : 1]
Input [2]: [quantityKpis#982472, shardId#981205]
Condition : ((isnotnull(shardId#981205) AND (shardId#981205 = 0_1_10000002110)) AND (size(quantityKpis#982472, true) > 0))
(50) Project [codegen id : 1]
Output [1]: [quantityKpis#982472]
Input [2]: [quantityKpis#982472, shardId#981205]
(51) Generate [codegen id : 1]
Input [1]: [quantityKpis#982472]
Arguments: explode(quantityKpis#982472), false, [orderQuantityInBaseUnit#986075, kpis#986076]
(52) Project [codegen id : 1]
Output: []
Input [2]: [orderQuantityInBaseUnit#986075, kpis#986076]
(53) CollectLimit
Input: []
Arguments: 1