== 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#593765, shardId#589610]
Arguments: [quantityKpis#593765, shardId#589610], [isnotnull(shardId#589610), (shardId#589610 = 0_1_10000002107), (size(quantityKpis#593765, true) > 0)]
(2) InMemoryRelation
Arguments: [shardId#589610, worklistShardItemId#590122L, quantityAfterProdPlantOptimization#590123, qty#590124, orderProposalId#590280L, originalReplenishmentRunId#590283L, supplierGroup#590290, supplier#590291, supplyingPlant#590321, productGroup#590322, product#590293, plant#590294, subrange#590292, orderDateTime#590298, deliveryDateTime#590299, availabilityDateTime#590300, nextAvailabilityDateTime#590301, constraintValues#590315, constraintOperators#590313, constraintLabels#590312, logisticUnits#590317, orderQuantityBaseUom#590303, orderQuantityBaseUomUuid#590304, splitIndicator#590285L, netPriceAmount#590308, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [2]: [shardId#589610, items#589612]
Arguments: [shardId#589610, items#589612], [(size(items#589612, true) > 0), isnotnull(items#589612)]
(4) InMemoryRelation
Arguments: [shardId#589610, orderProposalId#589611L, items#589612, optimizationGroups#589613, isOptimal#589614, optimizationInsights#589616], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [6]: [shardId#589610, orderProposalId#589611L, items#589612, optimizationGroups#589613, isOptimal#589614, optimizationInsights#589616]
Arguments: [shardId#589610, orderProposalId#589611L, items#589612, optimizationGroups#589613, isOptimal#589614, optimizationInsights#589616], [isnotnull(shardId#589610), (shardId#589610 = 0_1_10000002107)]
(6) InMemoryRelation
Arguments: [shardId#589610, orderProposalId#589611L, items#589612, optimizationGroups#589613, isOptimal#589614, lastModified#589615, optimizationInsights#589616], StorageLevel(disk, memory, 2 replicas)
(7) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#589610, orderProposalId#589611L, items#589612, optimizationGroups#589613, isOptimal#589614, lastModified#589615, optimizationInsights#589616]
Arguments: [shardId#589610, orderProposalId#589611L, items#589612, optimizationGroups#589613, isOptimal#589614, lastModified#589615, optimizationInsights#589616], MapPartitionsRDD[28419] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(8) Filter [codegen id : 1]
Input [7]: [shardId#589610, orderProposalId#589611L, items#589612, optimizationGroups#589613, isOptimal#589614, lastModified#589615, optimizationInsights#589616]
Condition : (isnotnull(shardId#589610) AND (shardId#589610 = 0_1_10000002107))
(9) Filter [codegen id : 1]
Input [6]: [shardId#589610, orderProposalId#589611L, items#589612, optimizationGroups#589613, isOptimal#589614, optimizationInsights#589616]
Condition : (isnotnull(shardId#589610) AND (shardId#589610 = 0_1_10000002107))
(10) Filter [codegen id : 3]
Input [2]: [shardId#589610, items#589612]
Condition : ((size(items#589612, true) > 0) AND isnotnull(items#589612))
(11) Generate [codegen id : 3]
Input [2]: [shardId#589610, items#589612]
Arguments: explode(items#589612), [shardId#589610], false, [item#590121]
(12) Project [codegen id : 3]
Output [4]: [shardId#589610, item#590121.worklistShardItemId AS worklistShardItemId#590122L, item#590121.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#590123, item#590121.qty AS qty#590124]
Input [2]: [shardId#589610, item#590121]
(13) Scan parquet
Output [38]: [orderProposalId#590323L, orderProposalItemId#590324, supplierGroup#590325, supplier#590326, plant#590327, deliveryDateTime#590328, subrange#590329, supplyingPlant#590330, productGroup#590331, product#590332, orderDateTime#590333, availabilityDateTime#590334, nextAvailabilityDateTime#590335, sourceOfSupplyUuid#590337, isFallbackOrderOnly#590340, splitIndicator#590342L, previousOrderProposal#590343L, worklistShardItemId#590346L, orderProposalItemGroupId#590347, externalProductId#590348, externalPlantId#590349, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, minimumOrderQuantity#590353, constraintLabels#590354, constraintOperators#590355, constraintValues#590356, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, measurements#590364, originalReplenishmentRunId#590365L, optimizationGroups#590366, shardId#590367, sequenceId#590345]
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/10000002107]
PartitionFilters: [isnotnull(shardId#590367), isnotnull(sequenceId#590345), (shardId#590367 = 0_1_10000002107), (sequenceId#590345 = 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#590323L, orderProposalItemId#590324, supplierGroup#590325, supplier#590326, plant#590327, deliveryDateTime#590328, subrange#590329, supplyingPlant#590330, productGroup#590331, product#590332, orderDateTime#590333, availabilityDateTime#590334, nextAvailabilityDateTime#590335, sourceOfSupplyUuid#590337, isFallbackOrderOnly#590340, splitIndicator#590342L, previousOrderProposal#590343L, worklistShardItemId#590346L, orderProposalItemGroupId#590347, externalProductId#590348, externalPlantId#590349, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, minimumOrderQuantity#590353, constraintLabels#590354, constraintOperators#590355, constraintValues#590356, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, measurements#590364, originalReplenishmentRunId#590365L, optimizationGroups#590366, shardId#590367, sequenceId#590345]
(15) Filter [codegen id : 1]
Input [38]: [orderProposalId#590323L, orderProposalItemId#590324, supplierGroup#590325, supplier#590326, plant#590327, deliveryDateTime#590328, subrange#590329, supplyingPlant#590330, productGroup#590331, product#590332, orderDateTime#590333, availabilityDateTime#590334, nextAvailabilityDateTime#590335, sourceOfSupplyUuid#590337, isFallbackOrderOnly#590340, splitIndicator#590342L, previousOrderProposal#590343L, worklistShardItemId#590346L, orderProposalItemGroupId#590347, externalProductId#590348, externalPlantId#590349, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, minimumOrderQuantity#590353, constraintLabels#590354, constraintOperators#590355, constraintValues#590356, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, measurements#590364, originalReplenishmentRunId#590365L, optimizationGroups#590366, shardId#590367, sequenceId#590345]
Condition : isnotnull(worklistShardItemId#590346L)
(16) Project [codegen id : 1]
Output [36]: [orderProposalId#590323L, orderProposalItemId#590324, supplierGroup#590325, supplier#590326, plant#590327, deliveryDateTime#590328, subrange#590329, supplyingPlant#590330, productGroup#590331, product#590332, orderDateTime#590333, availabilityDateTime#590334, nextAvailabilityDateTime#590335, sourceOfSupplyUuid#590337, isFallbackOrderOnly#590340, splitIndicator#590342L, previousOrderProposal#590343L, worklistShardItemId#590346L, orderProposalItemGroupId#590347, externalProductId#590348, externalPlantId#590349, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, minimumOrderQuantity#590353, constraintLabels#590354, constraintOperators#590355, constraintValues#590356, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, measurements#590364, originalReplenishmentRunId#590365L, optimizationGroups#590366]
Input [38]: [orderProposalId#590323L, orderProposalItemId#590324, supplierGroup#590325, supplier#590326, plant#590327, deliveryDateTime#590328, subrange#590329, supplyingPlant#590330, productGroup#590331, product#590332, orderDateTime#590333, availabilityDateTime#590334, nextAvailabilityDateTime#590335, sourceOfSupplyUuid#590337, isFallbackOrderOnly#590340, splitIndicator#590342L, previousOrderProposal#590343L, worklistShardItemId#590346L, orderProposalItemGroupId#590347, externalProductId#590348, externalPlantId#590349, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, minimumOrderQuantity#590353, constraintLabels#590354, constraintOperators#590355, constraintValues#590356, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, measurements#590364, originalReplenishmentRunId#590365L, optimizationGroups#590366, shardId#590367, sequenceId#590345]
(17) Exchange
Input [36]: [orderProposalId#590323L, orderProposalItemId#590324, supplierGroup#590325, supplier#590326, plant#590327, deliveryDateTime#590328, subrange#590329, supplyingPlant#590330, productGroup#590331, product#590332, orderDateTime#590333, availabilityDateTime#590334, nextAvailabilityDateTime#590335, sourceOfSupplyUuid#590337, isFallbackOrderOnly#590340, splitIndicator#590342L, previousOrderProposal#590343L, worklistShardItemId#590346L, orderProposalItemGroupId#590347, externalProductId#590348, externalPlantId#590349, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, minimumOrderQuantity#590353, constraintLabels#590354, constraintOperators#590355, constraintValues#590356, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, measurements#590364, originalReplenishmentRunId#590365L, optimizationGroups#590366]
Arguments: hashpartitioning(worklistShardItemId#590346L, 20), REPARTITION_BY_NUM, [plan_id=250607]
(18) Project [codegen id : 2]
Output [36]: [worklistShardItemId#590346L, orderProposalId#590323L, orderProposalItemId#590324, orderProposalItemGroupId#590347, originalReplenishmentRunId#590365L, splitIndicator#590342L, previousOrderProposal#590343L, sourceOfSupplyUuid#590337, supplierGroup#590325, supplier#590326, subrange#590329, product#590332, plant#590327, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, isFallbackOrderOnly#590340, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, netPriceAmount#590359, netPriceCurrencyCode#590360, measurements#590364, minimumOrderQuantity#590353, constraintLabels#590354, constraintOperators#590355, constraintValues#590356, logisticUnits#590350, optimizationGroups#590366, externalProductId#590348, externalPlantId#590349, supplyingPlant#590330, productGroup#590331]
Input [36]: [orderProposalId#590323L, orderProposalItemId#590324, supplierGroup#590325, supplier#590326, plant#590327, deliveryDateTime#590328, subrange#590329, supplyingPlant#590330, productGroup#590331, product#590332, orderDateTime#590333, availabilityDateTime#590334, nextAvailabilityDateTime#590335, sourceOfSupplyUuid#590337, isFallbackOrderOnly#590340, splitIndicator#590342L, previousOrderProposal#590343L, worklistShardItemId#590346L, orderProposalItemGroupId#590347, externalProductId#590348, externalPlantId#590349, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, minimumOrderQuantity#590353, constraintLabels#590354, constraintOperators#590355, constraintValues#590356, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, measurements#590364, originalReplenishmentRunId#590365L, optimizationGroups#590366]
(19) BroadcastExchange
Input [36]: [worklistShardItemId#590346L, orderProposalId#590323L, orderProposalItemId#590324, orderProposalItemGroupId#590347, originalReplenishmentRunId#590365L, splitIndicator#590342L, previousOrderProposal#590343L, sourceOfSupplyUuid#590337, supplierGroup#590325, supplier#590326, subrange#590329, product#590332, plant#590327, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, isFallbackOrderOnly#590340, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, netPriceAmount#590359, netPriceCurrencyCode#590360, measurements#590364, minimumOrderQuantity#590353, constraintLabels#590354, constraintOperators#590355, constraintValues#590356, logisticUnits#590350, optimizationGroups#590366, externalProductId#590348, externalPlantId#590349, supplyingPlant#590330, productGroup#590331]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=250611]
(20) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#590122L]
Right keys [1]: [worklistShardItemId#590346L]
Join type: LeftOuter
Join condition: (shardId#589610 = 0_1_10000002107)
(21) Project [codegen id : 3]
Output [39]: [shardId#589610, worklistShardItemId#590122L, quantityAfterProdPlantOptimization#590123, qty#590124, orderProposalId#590323L, originalReplenishmentRunId#590365L, supplierGroup#590325, supplier#590326, supplyingPlant#590330, productGroup#590331, product#590332, plant#590327, subrange#590329, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, constraintValues#590356, constraintOperators#590355, constraintLabels#590354, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, splitIndicator#590342L, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, sourceOfSupplyUuid#590337, minimumOrderQuantity#590353, orderProposalItemId#590324, orderProposalItemGroupId#590347, optimizationGroups#590366, measurements#590364, externalProductId#590348, externalPlantId#590349, previousOrderProposal#590343L, isFallbackOrderOnly#590340]
Input [40]: [shardId#589610, worklistShardItemId#590122L, quantityAfterProdPlantOptimization#590123, qty#590124, worklistShardItemId#590346L, orderProposalId#590323L, orderProposalItemId#590324, orderProposalItemGroupId#590347, originalReplenishmentRunId#590365L, splitIndicator#590342L, previousOrderProposal#590343L, sourceOfSupplyUuid#590337, supplierGroup#590325, supplier#590326, subrange#590329, product#590332, plant#590327, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, isFallbackOrderOnly#590340, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, netPriceAmount#590359, netPriceCurrencyCode#590360, measurements#590364, minimumOrderQuantity#590353, constraintLabels#590354, constraintOperators#590355, constraintValues#590356, logisticUnits#590350, optimizationGroups#590366, externalProductId#590348, externalPlantId#590349, supplyingPlant#590330, productGroup#590331]
(22) Exchange
Input [39]: [shardId#589610, worklistShardItemId#590122L, quantityAfterProdPlantOptimization#590123, qty#590124, orderProposalId#590323L, originalReplenishmentRunId#590365L, supplierGroup#590325, supplier#590326, supplyingPlant#590330, productGroup#590331, product#590332, plant#590327, subrange#590329, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, constraintValues#590356, constraintOperators#590355, constraintLabels#590354, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, splitIndicator#590342L, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, sourceOfSupplyUuid#590337, minimumOrderQuantity#590353, orderProposalItemId#590324, orderProposalItemGroupId#590347, optimizationGroups#590366, measurements#590364, externalProductId#590348, externalPlantId#590349, previousOrderProposal#590343L, isFallbackOrderOnly#590340]
Arguments: hashpartitioning(shardId#589610, worklistShardItemId#590122L, 20), ENSURE_REQUIREMENTS, [plan_id=250616]
(23) Sort [codegen id : 4]
Input [39]: [shardId#589610, worklistShardItemId#590122L, quantityAfterProdPlantOptimization#590123, qty#590124, orderProposalId#590323L, originalReplenishmentRunId#590365L, supplierGroup#590325, supplier#590326, supplyingPlant#590330, productGroup#590331, product#590332, plant#590327, subrange#590329, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, constraintValues#590356, constraintOperators#590355, constraintLabels#590354, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, splitIndicator#590342L, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, sourceOfSupplyUuid#590337, minimumOrderQuantity#590353, orderProposalItemId#590324, orderProposalItemGroupId#590347, optimizationGroups#590366, measurements#590364, externalProductId#590348, externalPlantId#590349, previousOrderProposal#590343L, isFallbackOrderOnly#590340]
Arguments: [shardId#589610 ASC NULLS FIRST, worklistShardItemId#590122L ASC NULLS FIRST], false, 0
(24) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#593730, worklistShardItemId#593731L, qty#593732, demandChannel#593733, demandStream#593734, kpis#593735]
Arguments: [shardId#593730, worklistShardItemId#593731L, qty#593732, demandChannel#593733, demandStream#593734, kpis#593735], MapPartitionsRDD[28553] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(25) Filter [codegen id : 5]
Input [6]: [shardId#593730, worklistShardItemId#593731L, qty#593732, demandChannel#593733, demandStream#593734, kpis#593735]
Condition : (((isnull(qty#593732) AND isnull(demandChannel#593733)) AND isnull(demandStream#593734)) AND (isnotnull(shardId#593730) AND isnotnull(worklistShardItemId#593731L)))
(26) Project [codegen id : 5]
Output [3]: [shardId#593730, worklistShardItemId#593731L, coalesce(kpis#593735, []) AS prodLocSpecificKpis#593736]
Input [6]: [shardId#593730, worklistShardItemId#593731L, qty#593732, demandChannel#593733, demandStream#593734, kpis#593735]
(27) Exchange
Input [3]: [shardId#593730, worklistShardItemId#593731L, prodLocSpecificKpis#593736]
Arguments: hashpartitioning(shardId#593730, worklistShardItemId#593731L, 20), ENSURE_REQUIREMENTS, [plan_id=250622]
(28) Sort [codegen id : 6]
Input [3]: [shardId#593730, worklistShardItemId#593731L, prodLocSpecificKpis#593736]
Arguments: [shardId#593730 ASC NULLS FIRST, worklistShardItemId#593731L ASC NULLS FIRST], false, 0
(29) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#589610, worklistShardItemId#590122L]
Right keys [2]: [shardId#593730, worklistShardItemId#593731L]
Join type: LeftOuter
Join condition: None
(30) Project [codegen id : 7]
Output [40]: [shardId#589610, worklistShardItemId#590122L, quantityAfterProdPlantOptimization#590123, qty#590124, orderProposalId#590323L, originalReplenishmentRunId#590365L, supplierGroup#590325, supplier#590326, supplyingPlant#590330, productGroup#590331, product#590332, plant#590327, subrange#590329, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, constraintValues#590356, constraintOperators#590355, constraintLabels#590354, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, splitIndicator#590342L, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, sourceOfSupplyUuid#590337, minimumOrderQuantity#590353, orderProposalItemId#590324, orderProposalItemGroupId#590347, optimizationGroups#590366, measurements#590364, externalProductId#590348, externalPlantId#590349, previousOrderProposal#590343L, isFallbackOrderOnly#590340, coalesce(prodLocSpecificKpis#593736, []) AS prodLocSpecificKpis#593737]
Input [42]: [shardId#589610, worklistShardItemId#590122L, quantityAfterProdPlantOptimization#590123, qty#590124, orderProposalId#590323L, originalReplenishmentRunId#590365L, supplierGroup#590325, supplier#590326, supplyingPlant#590330, productGroup#590331, product#590332, plant#590327, subrange#590329, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, constraintValues#590356, constraintOperators#590355, constraintLabels#590354, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, splitIndicator#590342L, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, sourceOfSupplyUuid#590337, minimumOrderQuantity#590353, orderProposalItemId#590324, orderProposalItemGroupId#590347, optimizationGroups#590366, measurements#590364, externalProductId#590348, externalPlantId#590349, previousOrderProposal#590343L, isFallbackOrderOnly#590340, shardId#593730, worklistShardItemId#593731L, prodLocSpecificKpis#593736]
(31) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#593746, worklistShardItemId#593747L, qty#593748, demandChannel#593749, demandStream#593750, kpis#593751]
Arguments: [shardId#593746, worklistShardItemId#593747L, qty#593748, demandChannel#593749, demandStream#593750, kpis#593751], MapPartitionsRDD[28553] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(32) Filter [codegen id : 8]
Input [6]: [shardId#593746, worklistShardItemId#593747L, qty#593748, demandChannel#593749, demandStream#593750, kpis#593751]
Condition : ((((isnull(qty#593748) AND isnotnull(demandChannel#593749)) AND isnotnull(demandStream#593750)) AND (size(kpis#593751, true) > 0)) AND (isnotnull(shardId#593746) AND isnotnull(worklistShardItemId#593747L)))
(33) Project [codegen id : 8]
Output [5]: [shardId#593746, worklistShardItemId#593747L, demandChannel#593749, demandStream#593750, kpis#593751]
Input [6]: [shardId#593746, worklistShardItemId#593747L, qty#593748, demandChannel#593749, demandStream#593750, kpis#593751]
(34) ObjectHashAggregate
Input [5]: [shardId#593746, worklistShardItemId#593747L, demandChannel#593749, demandStream#593750, kpis#593751]
Keys [2]: [shardId#593746, worklistShardItemId#593747L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#593749, demandStream, demandStream#593750, kpis, kpis#593751), 0, 0)]
Aggregate Attributes [1]: [buf#593926]
Results [3]: [shardId#593746, worklistShardItemId#593747L, buf#593927]
(35) Exchange
Input [3]: [shardId#593746, worklistShardItemId#593747L, buf#593927]
Arguments: hashpartitioning(shardId#593746, worklistShardItemId#593747L, 20), ENSURE_REQUIREMENTS, [plan_id=250633]
(36) ObjectHashAggregate
Input [3]: [shardId#593746, worklistShardItemId#593747L, buf#593927]
Keys [2]: [shardId#593746, worklistShardItemId#593747L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#593749, demandStream, demandStream#593750, kpis, kpis#593751), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#593749, demandStream, demandStream#593750, kpis, kpis#593751), 0, 0)#593745]
Results [3]: [shardId#593746, worklistShardItemId#593747L, collect_list(struct(demandChannel, demandChannel#593749, demandStream, demandStream#593750, kpis, kpis#593751), 0, 0)#593745 AS channelStreamSpecificKpis#593738]
(37) Sort [codegen id : 9]
Input [3]: [shardId#593746, worklistShardItemId#593747L, channelStreamSpecificKpis#593738]
Arguments: [shardId#593746 ASC NULLS FIRST, worklistShardItemId#593747L ASC NULLS FIRST], false, 0
(38) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#589610, worklistShardItemId#590122L]
Right keys [2]: [shardId#593746, worklistShardItemId#593747L]
Join type: LeftOuter
Join condition: None
(39) Project [codegen id : 10]
Output [41]: [shardId#589610, worklistShardItemId#590122L, quantityAfterProdPlantOptimization#590123, qty#590124, orderProposalId#590323L, originalReplenishmentRunId#590365L, supplierGroup#590325, supplier#590326, supplyingPlant#590330, productGroup#590331, product#590332, plant#590327, subrange#590329, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, constraintValues#590356, constraintOperators#590355, constraintLabels#590354, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, splitIndicator#590342L, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, sourceOfSupplyUuid#590337, minimumOrderQuantity#590353, orderProposalItemId#590324, orderProposalItemGroupId#590347, optimizationGroups#590366, measurements#590364, externalProductId#590348, externalPlantId#590349, previousOrderProposal#590343L, isFallbackOrderOnly#590340, prodLocSpecificKpis#593737, coalesce(channelStreamSpecificKpis#593738, []) AS channelStreamSpecificKpis#593752]
Input [43]: [shardId#589610, worklistShardItemId#590122L, quantityAfterProdPlantOptimization#590123, qty#590124, orderProposalId#590323L, originalReplenishmentRunId#590365L, supplierGroup#590325, supplier#590326, supplyingPlant#590330, productGroup#590331, product#590332, plant#590327, subrange#590329, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, constraintValues#590356, constraintOperators#590355, constraintLabels#590354, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, splitIndicator#590342L, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, sourceOfSupplyUuid#590337, minimumOrderQuantity#590353, orderProposalItemId#590324, orderProposalItemGroupId#590347, optimizationGroups#590366, measurements#590364, externalProductId#590348, externalPlantId#590349, previousOrderProposal#590343L, isFallbackOrderOnly#590340, prodLocSpecificKpis#593737, shardId#593746, worklistShardItemId#593747L, channelStreamSpecificKpis#593738]
(40) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#593759, worklistShardItemId#593760L, qty#593761, demandChannel#593762, demandStream#593763, kpis#593764]
Arguments: [shardId#593759, worklistShardItemId#593760L, qty#593761, demandChannel#593762, demandStream#593763, kpis#593764], MapPartitionsRDD[28553] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(41) Filter [codegen id : 11]
Input [6]: [shardId#593759, worklistShardItemId#593760L, qty#593761, demandChannel#593762, demandStream#593763, kpis#593764]
Condition : ((isnotnull(qty#593761) AND isnotnull(kpis#593764)) AND (isnotnull(shardId#593759) AND isnotnull(worklistShardItemId#593760L)))
(42) Project [codegen id : 11]
Output [4]: [shardId#593759, worklistShardItemId#593760L, qty#593761, kpis#593764]
Input [6]: [shardId#593759, worklistShardItemId#593760L, qty#593761, demandChannel#593762, demandStream#593763, kpis#593764]
(43) ObjectHashAggregate
Input [4]: [shardId#593759, worklistShardItemId#593760L, qty#593761, kpis#593764]
Keys [2]: [shardId#593759, worklistShardItemId#593760L]
Functions [1]: [partial_collect_list(struct(qty, qty#593761, kpis, kpis#593764), 0, 0)]
Aggregate Attributes [1]: [buf#593928]
Results [3]: [shardId#593759, worklistShardItemId#593760L, buf#593929]
(44) Exchange
Input [3]: [shardId#593759, worklistShardItemId#593760L, buf#593929]
Arguments: hashpartitioning(shardId#593759, worklistShardItemId#593760L, 20), ENSURE_REQUIREMENTS, [plan_id=250645]
(45) ObjectHashAggregate
Input [3]: [shardId#593759, worklistShardItemId#593760L, buf#593929]
Keys [2]: [shardId#593759, worklistShardItemId#593760L]
Functions [1]: [collect_list(struct(qty, qty#593761, kpis, kpis#593764), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#593761, kpis, kpis#593764), 0, 0)#593758]
Results [3]: [shardId#593759, worklistShardItemId#593760L, map_from_entries(collect_list(struct(qty, qty#593761, kpis, kpis#593764), 0, 0)#593758) AS quantityKpis#593753]
(46) Sort [codegen id : 12]
Input [3]: [shardId#593759, worklistShardItemId#593760L, quantityKpis#593753]
Arguments: [shardId#593759 ASC NULLS FIRST, worklistShardItemId#593760L ASC NULLS FIRST], false, 0
(47) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#589610, worklistShardItemId#590122L]
Right keys [2]: [shardId#593759, worklistShardItemId#593760L]
Join type: LeftOuter
Join condition: None
(48) Project [codegen id : 13]
Output [42]: [shardId#589610, worklistShardItemId#590122L, quantityAfterProdPlantOptimization#590123, qty#590124, orderProposalId#590323L, originalReplenishmentRunId#590365L, supplierGroup#590325, supplier#590326, supplyingPlant#590330, productGroup#590331, product#590332, plant#590327, subrange#590329, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, constraintValues#590356, constraintOperators#590355, constraintLabels#590354, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, splitIndicator#590342L, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, sourceOfSupplyUuid#590337, minimumOrderQuantity#590353, orderProposalItemId#590324, orderProposalItemGroupId#590347, optimizationGroups#590366, measurements#590364, externalProductId#590348, externalPlantId#590349, previousOrderProposal#590343L, isFallbackOrderOnly#590340, prodLocSpecificKpis#593737, channelStreamSpecificKpis#593752, coalesce(quantityKpis#593753, map(keys: [], values: [])) AS quantityKpis#593765]
Input [44]: [shardId#589610, worklistShardItemId#590122L, quantityAfterProdPlantOptimization#590123, qty#590124, orderProposalId#590323L, originalReplenishmentRunId#590365L, supplierGroup#590325, supplier#590326, supplyingPlant#590330, productGroup#590331, product#590332, plant#590327, subrange#590329, orderDateTime#590333, deliveryDateTime#590328, availabilityDateTime#590334, nextAvailabilityDateTime#590335, constraintValues#590356, constraintOperators#590355, constraintLabels#590354, logisticUnits#590350, orderQuantityBaseUom#590351, orderQuantityBaseUomUuid#590352, splitIndicator#590342L, netPriceAmount#590359, netPriceCurrencyCode#590360, netPriceQuantity#590361, netPriceQuantityUom#590362, netPriceQuantityUomUuid#590363, sourceOfSupplyUuid#590337, minimumOrderQuantity#590353, orderProposalItemId#590324, orderProposalItemGroupId#590347, optimizationGroups#590366, measurements#590364, externalProductId#590348, externalPlantId#590349, previousOrderProposal#590343L, isFallbackOrderOnly#590340, prodLocSpecificKpis#593737, channelStreamSpecificKpis#593752, shardId#593759, worklistShardItemId#593760L, quantityKpis#593753]
(49) Filter [codegen id : 1]
Input [2]: [quantityKpis#593765, shardId#589610]
Condition : ((isnotnull(shardId#589610) AND (shardId#589610 = 0_1_10000002107)) AND (size(quantityKpis#593765, true) > 0))
(50) Project [codegen id : 1]
Output [1]: [quantityKpis#593765]
Input [2]: [quantityKpis#593765, shardId#589610]
(51) Generate [codegen id : 1]
Input [1]: [quantityKpis#593765]
Arguments: explode(quantityKpis#593765), false, [orderQuantityInBaseUnit#600140, kpis#600141]
(52) Project [codegen id : 1]
Output: []
Input [2]: [orderQuantityInBaseUnit#600140, kpis#600141]
(53) CollectLimit
Input: []
Arguments: 1