== 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#872009, shardId#870565]
Arguments: [quantityKpis#872009, shardId#870565], [isnotnull(shardId#870565), (shardId#870565 = 0_1_10000002109), (size(quantityKpis#872009, true) > 0)]
(2) InMemoryRelation
Arguments: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871235L, originalReplenishmentRunId#871238L, supplierGroup#871245, supplier#871246, supplyingPlant#871276, productGroup#871277, product#871248, plant#871249, subrange#871247, orderDateTime#871253, deliveryDateTime#871254, availabilityDateTime#871255, nextAvailabilityDateTime#871256, constraintValues#871270, constraintOperators#871268, constraintLabels#871267, logisticUnits#871272, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, splitIndicator#871240L, netPriceAmount#871263, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [2]: [shardId#870565, items#870567]
Arguments: [shardId#870565, items#870567], [(size(items#870567, true) > 0), isnotnull(items#870567)]
(4) InMemoryRelation
Arguments: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, optimizationInsights#870571], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [6]: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, optimizationInsights#870571]
Arguments: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, optimizationInsights#870571], [isnotnull(shardId#870565), (shardId#870565 = 0_1_10000002109)]
(6) InMemoryRelation
Arguments: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, lastModified#870570, optimizationInsights#870571], StorageLevel(disk, memory, 2 replicas)
(7) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, lastModified#870570, optimizationInsights#870571]
Arguments: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, lastModified#870570, optimizationInsights#870571], MapPartitionsRDD[40891] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(8) Filter [codegen id : 1]
Input [7]: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, lastModified#870570, optimizationInsights#870571]
Condition : (isnotnull(shardId#870565) AND (shardId#870565 = 0_1_10000002109))
(9) Filter [codegen id : 1]
Input [6]: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, optimizationInsights#870571]
Condition : (isnotnull(shardId#870565) AND (shardId#870565 = 0_1_10000002109))
(10) Filter [codegen id : 3]
Input [2]: [shardId#870565, items#870567]
Condition : ((size(items#870567, true) > 0) AND isnotnull(items#870567))
(11) Generate [codegen id : 3]
Input [2]: [shardId#870565, items#870567]
Arguments: explode(items#870567), [shardId#870565], false, [item#871076]
(12) Project [codegen id : 3]
Output [4]: [shardId#870565, item#871076.worklistShardItemId AS worklistShardItemId#871077L, item#871076.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#871078, item#871076.qty AS qty#871079]
Input [2]: [shardId#870565, item#871076]
(13) Scan parquet
Output [38]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321, shardId#871322, sequenceId#871300]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000002109]
PartitionFilters: [isnotnull(shardId#871322), isnotnull(sequenceId#871300), (shardId#871322 = 0_1_10000002109), (sequenceId#871300 = 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>>
(14) ColumnarToRow [codegen id : 1]
Input [38]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321, shardId#871322, sequenceId#871300]
(15) Filter [codegen id : 1]
Input [38]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321, shardId#871322, sequenceId#871300]
Condition : isnotnull(worklistShardItemId#871301L)
(16) Project [codegen id : 1]
Output [36]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321]
Input [38]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321, shardId#871322, sequenceId#871300]
(17) Exchange
Input [36]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321]
Arguments: hashpartitioning(worklistShardItemId#871301L, 20), REPARTITION_BY_NUM, [plan_id=342791]
(18) Project [codegen id : 2]
Output [36]: [worklistShardItemId#871301L, orderProposalId#871278L, orderProposalItemId#871279, orderProposalItemGroupId#871302, originalReplenishmentRunId#871320L, splitIndicator#871297L, previousOrderProposal#871298L, sourceOfSupplyUuid#871292, supplierGroup#871280, supplier#871281, subrange#871284, product#871287, plant#871282, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, isFallbackOrderOnly#871295, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, netPriceAmount#871314, netPriceCurrencyCode#871315, measurements#871319, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, logisticUnits#871305, optimizationGroups#871321, externalProductId#871303, externalPlantId#871304, supplyingPlant#871285, productGroup#871286]
Input [36]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321]
(19) BroadcastExchange
Input [36]: [worklistShardItemId#871301L, orderProposalId#871278L, orderProposalItemId#871279, orderProposalItemGroupId#871302, originalReplenishmentRunId#871320L, splitIndicator#871297L, previousOrderProposal#871298L, sourceOfSupplyUuid#871292, supplierGroup#871280, supplier#871281, subrange#871284, product#871287, plant#871282, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, isFallbackOrderOnly#871295, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, netPriceAmount#871314, netPriceCurrencyCode#871315, measurements#871319, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, logisticUnits#871305, optimizationGroups#871321, externalProductId#871303, externalPlantId#871304, supplyingPlant#871285, productGroup#871286]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=342795]
(20) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#871077L]
Right keys [1]: [worklistShardItemId#871301L]
Join type: LeftOuter
Join condition: (shardId#870565 = 0_1_10000002109)
(21) Project [codegen id : 3]
Output [39]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295]
Input [40]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, worklistShardItemId#871301L, orderProposalId#871278L, orderProposalItemId#871279, orderProposalItemGroupId#871302, originalReplenishmentRunId#871320L, splitIndicator#871297L, previousOrderProposal#871298L, sourceOfSupplyUuid#871292, supplierGroup#871280, supplier#871281, subrange#871284, product#871287, plant#871282, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, isFallbackOrderOnly#871295, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, netPriceAmount#871314, netPriceCurrencyCode#871315, measurements#871319, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, logisticUnits#871305, optimizationGroups#871321, externalProductId#871303, externalPlantId#871304, supplyingPlant#871285, productGroup#871286]
(22) Exchange
Input [39]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295]
Arguments: hashpartitioning(shardId#870565, worklistShardItemId#871077L, 20), ENSURE_REQUIREMENTS, [plan_id=342800]
(23) Sort [codegen id : 4]
Input [39]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295]
Arguments: [shardId#870565 ASC NULLS FIRST, worklistShardItemId#871077L ASC NULLS FIRST], false, 0
(24) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#871974, worklistShardItemId#871975L, qty#871976, demandChannel#871977, demandStream#871978, kpis#871979]
Arguments: [shardId#871974, worklistShardItemId#871975L, qty#871976, demandChannel#871977, demandStream#871978, kpis#871979], MapPartitionsRDD[40965] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(25) Filter [codegen id : 5]
Input [6]: [shardId#871974, worklistShardItemId#871975L, qty#871976, demandChannel#871977, demandStream#871978, kpis#871979]
Condition : (((isnull(qty#871976) AND isnull(demandChannel#871977)) AND isnull(demandStream#871978)) AND (isnotnull(shardId#871974) AND isnotnull(worklistShardItemId#871975L)))
(26) Project [codegen id : 5]
Output [3]: [shardId#871974, worklistShardItemId#871975L, coalesce(kpis#871979, []) AS prodLocSpecificKpis#871980]
Input [6]: [shardId#871974, worklistShardItemId#871975L, qty#871976, demandChannel#871977, demandStream#871978, kpis#871979]
(27) Exchange
Input [3]: [shardId#871974, worklistShardItemId#871975L, prodLocSpecificKpis#871980]
Arguments: hashpartitioning(shardId#871974, worklistShardItemId#871975L, 20), ENSURE_REQUIREMENTS, [plan_id=342806]
(28) Sort [codegen id : 6]
Input [3]: [shardId#871974, worklistShardItemId#871975L, prodLocSpecificKpis#871980]
Arguments: [shardId#871974 ASC NULLS FIRST, worklistShardItemId#871975L ASC NULLS FIRST], false, 0
(29) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#870565, worklistShardItemId#871077L]
Right keys [2]: [shardId#871974, worklistShardItemId#871975L]
Join type: LeftOuter
Join condition: None
(30) Project [codegen id : 7]
Output [40]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, coalesce(prodLocSpecificKpis#871980, []) AS prodLocSpecificKpis#871981]
Input [42]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, shardId#871974, worklistShardItemId#871975L, prodLocSpecificKpis#871980]
(31) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#871990, worklistShardItemId#871991L, qty#871992, demandChannel#871993, demandStream#871994, kpis#871995]
Arguments: [shardId#871990, worklistShardItemId#871991L, qty#871992, demandChannel#871993, demandStream#871994, kpis#871995], MapPartitionsRDD[40965] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(32) Filter [codegen id : 8]
Input [6]: [shardId#871990, worklistShardItemId#871991L, qty#871992, demandChannel#871993, demandStream#871994, kpis#871995]
Condition : ((((isnull(qty#871992) AND isnotnull(demandChannel#871993)) AND isnotnull(demandStream#871994)) AND (size(kpis#871995, true) > 0)) AND (isnotnull(shardId#871990) AND isnotnull(worklistShardItemId#871991L)))
(33) Project [codegen id : 8]
Output [5]: [shardId#871990, worklistShardItemId#871991L, demandChannel#871993, demandStream#871994, kpis#871995]
Input [6]: [shardId#871990, worklistShardItemId#871991L, qty#871992, demandChannel#871993, demandStream#871994, kpis#871995]
(34) ObjectHashAggregate
Input [5]: [shardId#871990, worklistShardItemId#871991L, demandChannel#871993, demandStream#871994, kpis#871995]
Keys [2]: [shardId#871990, worklistShardItemId#871991L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#871993, demandStream, demandStream#871994, kpis, kpis#871995), 0, 0)]
Aggregate Attributes [1]: [buf#872170]
Results [3]: [shardId#871990, worklistShardItemId#871991L, buf#872171]
(35) Exchange
Input [3]: [shardId#871990, worklistShardItemId#871991L, buf#872171]
Arguments: hashpartitioning(shardId#871990, worklistShardItemId#871991L, 20), ENSURE_REQUIREMENTS, [plan_id=342817]
(36) ObjectHashAggregate
Input [3]: [shardId#871990, worklistShardItemId#871991L, buf#872171]
Keys [2]: [shardId#871990, worklistShardItemId#871991L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#871993, demandStream, demandStream#871994, kpis, kpis#871995), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#871993, demandStream, demandStream#871994, kpis, kpis#871995), 0, 0)#871989]
Results [3]: [shardId#871990, worklistShardItemId#871991L, collect_list(struct(demandChannel, demandChannel#871993, demandStream, demandStream#871994, kpis, kpis#871995), 0, 0)#871989 AS channelStreamSpecificKpis#871982]
(37) Sort [codegen id : 9]
Input [3]: [shardId#871990, worklistShardItemId#871991L, channelStreamSpecificKpis#871982]
Arguments: [shardId#871990 ASC NULLS FIRST, worklistShardItemId#871991L ASC NULLS FIRST], false, 0
(38) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#870565, worklistShardItemId#871077L]
Right keys [2]: [shardId#871990, worklistShardItemId#871991L]
Join type: LeftOuter
Join condition: None
(39) Project [codegen id : 10]
Output [41]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, prodLocSpecificKpis#871981, coalesce(channelStreamSpecificKpis#871982, []) AS channelStreamSpecificKpis#871996]
Input [43]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, prodLocSpecificKpis#871981, shardId#871990, worklistShardItemId#871991L, channelStreamSpecificKpis#871982]
(40) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#872003, worklistShardItemId#872004L, qty#872005, demandChannel#872006, demandStream#872007, kpis#872008]
Arguments: [shardId#872003, worklistShardItemId#872004L, qty#872005, demandChannel#872006, demandStream#872007, kpis#872008], MapPartitionsRDD[40965] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(41) Filter [codegen id : 11]
Input [6]: [shardId#872003, worklistShardItemId#872004L, qty#872005, demandChannel#872006, demandStream#872007, kpis#872008]
Condition : ((isnotnull(qty#872005) AND isnotnull(kpis#872008)) AND (isnotnull(shardId#872003) AND isnotnull(worklistShardItemId#872004L)))
(42) Project [codegen id : 11]
Output [4]: [shardId#872003, worklistShardItemId#872004L, qty#872005, kpis#872008]
Input [6]: [shardId#872003, worklistShardItemId#872004L, qty#872005, demandChannel#872006, demandStream#872007, kpis#872008]
(43) ObjectHashAggregate
Input [4]: [shardId#872003, worklistShardItemId#872004L, qty#872005, kpis#872008]
Keys [2]: [shardId#872003, worklistShardItemId#872004L]
Functions [1]: [partial_collect_list(struct(qty, qty#872005, kpis, kpis#872008), 0, 0)]
Aggregate Attributes [1]: [buf#872172]
Results [3]: [shardId#872003, worklistShardItemId#872004L, buf#872173]
(44) Exchange
Input [3]: [shardId#872003, worklistShardItemId#872004L, buf#872173]
Arguments: hashpartitioning(shardId#872003, worklistShardItemId#872004L, 20), ENSURE_REQUIREMENTS, [plan_id=342829]
(45) ObjectHashAggregate
Input [3]: [shardId#872003, worklistShardItemId#872004L, buf#872173]
Keys [2]: [shardId#872003, worklistShardItemId#872004L]
Functions [1]: [collect_list(struct(qty, qty#872005, kpis, kpis#872008), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#872005, kpis, kpis#872008), 0, 0)#872002]
Results [3]: [shardId#872003, worklistShardItemId#872004L, map_from_entries(collect_list(struct(qty, qty#872005, kpis, kpis#872008), 0, 0)#872002) AS quantityKpis#871997]
(46) Sort [codegen id : 12]
Input [3]: [shardId#872003, worklistShardItemId#872004L, quantityKpis#871997]
Arguments: [shardId#872003 ASC NULLS FIRST, worklistShardItemId#872004L ASC NULLS FIRST], false, 0
(47) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#870565, worklistShardItemId#871077L]
Right keys [2]: [shardId#872003, worklistShardItemId#872004L]
Join type: LeftOuter
Join condition: None
(48) Project [codegen id : 13]
Output [42]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, prodLocSpecificKpis#871981, channelStreamSpecificKpis#871996, coalesce(quantityKpis#871997, map(keys: [], values: [])) AS quantityKpis#872009]
Input [44]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, prodLocSpecificKpis#871981, channelStreamSpecificKpis#871996, shardId#872003, worklistShardItemId#872004L, quantityKpis#871997]
(49) Filter [codegen id : 1]
Input [2]: [quantityKpis#872009, shardId#870565]
Condition : ((isnotnull(shardId#870565) AND (shardId#870565 = 0_1_10000002109)) AND (size(quantityKpis#872009, true) > 0))
(50) Project [codegen id : 1]
Output [1]: [quantityKpis#872009]
Input [2]: [quantityKpis#872009, shardId#870565]
(51) Generate [codegen id : 1]
Input [1]: [quantityKpis#872009]
Arguments: explode(quantityKpis#872009), false, [orderQuantityInBaseUnit#875612, kpis#875613]
(52) Project [codegen id : 1]
Output: []
Input [2]: [orderQuantityInBaseUnit#875612, kpis#875613]
(53) CollectLimit
Input: []
Arguments: 1