== Physical Plan ==
Execute InsertIntoHadoopFsRelationCommand (54)
+- WriteFiles (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 [4]: [orderProposalId#848223L, orderProposalItemId#848224, quantityKpis#848997, shardId#847553]
Arguments: [orderProposalId#848223L, orderProposalItemId#848224, quantityKpis#848997, shardId#847553], [isnotnull(shardId#847553), (shardId#847553 = 0_1_10000002109), (size(quantityKpis#848997, true) > 0)]
(2) InMemoryRelation
Arguments: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848223L, originalReplenishmentRunId#848226L, supplierGroup#848233, supplier#848234, supplyingPlant#848264, productGroup#848265, product#848236, plant#848237, subrange#848235, orderDateTime#848241, deliveryDateTime#848242, availabilityDateTime#848243, nextAvailabilityDateTime#848244, constraintValues#848258, constraintOperators#848256, constraintLabels#848255, logisticUnits#848260, orderQuantityBaseUom#848246, orderQuantityBaseUomUuid#848247, splitIndicator#848228L, netPriceAmount#848251, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [2]: [shardId#847553, items#847555]
Arguments: [shardId#847553, items#847555], [(size(items#847555, true) > 0), isnotnull(items#847555)]
(4) InMemoryRelation
Arguments: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, optimizationInsights#847559], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [6]: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, optimizationInsights#847559]
Arguments: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, optimizationInsights#847559], [isnotnull(shardId#847553), (shardId#847553 = 0_1_10000002109)]
(6) InMemoryRelation
Arguments: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, lastModified#847558, optimizationInsights#847559], StorageLevel(disk, memory, 2 replicas)
(7) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, lastModified#847558, optimizationInsights#847559]
Arguments: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, lastModified#847558, optimizationInsights#847559], MapPartitionsRDD[39846] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(8) Filter [codegen id : 1]
Input [7]: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, lastModified#847558, optimizationInsights#847559]
Condition : (isnotnull(shardId#847553) AND (shardId#847553 = 0_1_10000002109))
(9) Filter [codegen id : 1]
Input [6]: [shardId#847553, orderProposalId#847554L, items#847555, optimizationGroups#847556, isOptimal#847557, optimizationInsights#847559]
Condition : (isnotnull(shardId#847553) AND (shardId#847553 = 0_1_10000002109))
(10) Filter [codegen id : 3]
Input [2]: [shardId#847553, items#847555]
Condition : ((size(items#847555, true) > 0) AND isnotnull(items#847555))
(11) Generate [codegen id : 3]
Input [2]: [shardId#847553, items#847555]
Arguments: explode(items#847555), [shardId#847553], false, [item#848064]
(12) Project [codegen id : 3]
Output [4]: [shardId#847553, item#848064.worklistShardItemId AS worklistShardItemId#848065L, item#848064.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#848066, item#848064.qty AS qty#848067]
Input [2]: [shardId#847553, item#848064]
(13) Scan parquet
Output [38]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309, shardId#848310, sequenceId#848288]
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#848310), isnotnull(sequenceId#848288), (shardId#848310 = 0_1_10000002109), (sequenceId#848288 = 0)]
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#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309, shardId#848310, sequenceId#848288]
(15) Filter [codegen id : 1]
Input [38]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309, shardId#848310, sequenceId#848288]
Condition : isnotnull(worklistShardItemId#848289L)
(16) Project [codegen id : 1]
Output [36]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309]
Input [38]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309, shardId#848310, sequenceId#848288]
(17) Exchange
Input [36]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309]
Arguments: hashpartitioning(worklistShardItemId#848289L, 20), REPARTITION_BY_NUM, [plan_id=336116]
(18) Project [codegen id : 2]
Output [36]: [worklistShardItemId#848289L, orderProposalId#848266L, orderProposalItemId#848267, orderProposalItemGroupId#848290, originalReplenishmentRunId#848308L, splitIndicator#848285L, previousOrderProposal#848286L, sourceOfSupplyUuid#848280, supplierGroup#848268, supplier#848269, subrange#848272, product#848275, plant#848270, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, isFallbackOrderOnly#848283, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, netPriceAmount#848302, netPriceCurrencyCode#848303, measurements#848307, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, logisticUnits#848293, optimizationGroups#848309, externalProductId#848291, externalPlantId#848292, supplyingPlant#848273, productGroup#848274]
Input [36]: [orderProposalId#848266L, orderProposalItemId#848267, supplierGroup#848268, supplier#848269, plant#848270, deliveryDateTime#848271, subrange#848272, supplyingPlant#848273, productGroup#848274, product#848275, orderDateTime#848276, availabilityDateTime#848277, nextAvailabilityDateTime#848278, sourceOfSupplyUuid#848280, isFallbackOrderOnly#848283, splitIndicator#848285L, previousOrderProposal#848286L, worklistShardItemId#848289L, orderProposalItemGroupId#848290, externalProductId#848291, externalPlantId#848292, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, measurements#848307, originalReplenishmentRunId#848308L, optimizationGroups#848309]
(19) BroadcastExchange
Input [36]: [worklistShardItemId#848289L, orderProposalId#848266L, orderProposalItemId#848267, orderProposalItemGroupId#848290, originalReplenishmentRunId#848308L, splitIndicator#848285L, previousOrderProposal#848286L, sourceOfSupplyUuid#848280, supplierGroup#848268, supplier#848269, subrange#848272, product#848275, plant#848270, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, isFallbackOrderOnly#848283, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, netPriceAmount#848302, netPriceCurrencyCode#848303, measurements#848307, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, logisticUnits#848293, optimizationGroups#848309, externalProductId#848291, externalPlantId#848292, supplyingPlant#848273, productGroup#848274]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=336120]
(20) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#848065L]
Right keys [1]: [worklistShardItemId#848289L]
Join type: LeftOuter
Join condition: (shardId#847553 = 0_1_10000002109)
(21) Project [codegen id : 3]
Output [39]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283]
Input [40]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, worklistShardItemId#848289L, orderProposalId#848266L, orderProposalItemId#848267, orderProposalItemGroupId#848290, originalReplenishmentRunId#848308L, splitIndicator#848285L, previousOrderProposal#848286L, sourceOfSupplyUuid#848280, supplierGroup#848268, supplier#848269, subrange#848272, product#848275, plant#848270, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, isFallbackOrderOnly#848283, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, netPriceAmount#848302, netPriceCurrencyCode#848303, measurements#848307, minimumOrderQuantity#848296, constraintLabels#848297, constraintOperators#848298, constraintValues#848299, logisticUnits#848293, optimizationGroups#848309, externalProductId#848291, externalPlantId#848292, supplyingPlant#848273, productGroup#848274]
(22) Exchange
Input [39]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283]
Arguments: hashpartitioning(shardId#847553, worklistShardItemId#848065L, 20), ENSURE_REQUIREMENTS, [plan_id=336125]
(23) Sort [codegen id : 4]
Input [39]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283]
Arguments: [shardId#847553 ASC NULLS FIRST, worklistShardItemId#848065L ASC NULLS FIRST], false, 0
(24) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#848962, worklistShardItemId#848963L, qty#848964, demandChannel#848965, demandStream#848966, kpis#848967]
Arguments: [shardId#848962, worklistShardItemId#848963L, qty#848964, demandChannel#848965, demandStream#848966, kpis#848967], MapPartitionsRDD[39920] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(25) Filter [codegen id : 5]
Input [6]: [shardId#848962, worklistShardItemId#848963L, qty#848964, demandChannel#848965, demandStream#848966, kpis#848967]
Condition : (((isnull(qty#848964) AND isnull(demandChannel#848965)) AND isnull(demandStream#848966)) AND (isnotnull(shardId#848962) AND isnotnull(worklistShardItemId#848963L)))
(26) Project [codegen id : 5]
Output [3]: [shardId#848962, worklistShardItemId#848963L, coalesce(kpis#848967, []) AS prodLocSpecificKpis#848968]
Input [6]: [shardId#848962, worklistShardItemId#848963L, qty#848964, demandChannel#848965, demandStream#848966, kpis#848967]
(27) Exchange
Input [3]: [shardId#848962, worklistShardItemId#848963L, prodLocSpecificKpis#848968]
Arguments: hashpartitioning(shardId#848962, worklistShardItemId#848963L, 20), ENSURE_REQUIREMENTS, [plan_id=336131]
(28) Sort [codegen id : 6]
Input [3]: [shardId#848962, worklistShardItemId#848963L, prodLocSpecificKpis#848968]
Arguments: [shardId#848962 ASC NULLS FIRST, worklistShardItemId#848963L ASC NULLS FIRST], false, 0
(29) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#847553, worklistShardItemId#848065L]
Right keys [2]: [shardId#848962, worklistShardItemId#848963L]
Join type: LeftOuter
Join condition: None
(30) Project [codegen id : 7]
Output [40]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, coalesce(prodLocSpecificKpis#848968, []) AS prodLocSpecificKpis#848969]
Input [42]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, shardId#848962, worklistShardItemId#848963L, prodLocSpecificKpis#848968]
(31) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#848978, worklistShardItemId#848979L, qty#848980, demandChannel#848981, demandStream#848982, kpis#848983]
Arguments: [shardId#848978, worklistShardItemId#848979L, qty#848980, demandChannel#848981, demandStream#848982, kpis#848983], MapPartitionsRDD[39920] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(32) Filter [codegen id : 8]
Input [6]: [shardId#848978, worklistShardItemId#848979L, qty#848980, demandChannel#848981, demandStream#848982, kpis#848983]
Condition : ((((isnull(qty#848980) AND isnotnull(demandChannel#848981)) AND isnotnull(demandStream#848982)) AND (size(kpis#848983, true) > 0)) AND (isnotnull(shardId#848978) AND isnotnull(worklistShardItemId#848979L)))
(33) Project [codegen id : 8]
Output [5]: [shardId#848978, worklistShardItemId#848979L, demandChannel#848981, demandStream#848982, kpis#848983]
Input [6]: [shardId#848978, worklistShardItemId#848979L, qty#848980, demandChannel#848981, demandStream#848982, kpis#848983]
(34) ObjectHashAggregate
Input [5]: [shardId#848978, worklistShardItemId#848979L, demandChannel#848981, demandStream#848982, kpis#848983]
Keys [2]: [shardId#848978, worklistShardItemId#848979L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#848981, demandStream, demandStream#848982, kpis, kpis#848983), 0, 0)]
Aggregate Attributes [1]: [buf#849158]
Results [3]: [shardId#848978, worklistShardItemId#848979L, buf#849159]
(35) Exchange
Input [3]: [shardId#848978, worklistShardItemId#848979L, buf#849159]
Arguments: hashpartitioning(shardId#848978, worklistShardItemId#848979L, 20), ENSURE_REQUIREMENTS, [plan_id=336142]
(36) ObjectHashAggregate
Input [3]: [shardId#848978, worklistShardItemId#848979L, buf#849159]
Keys [2]: [shardId#848978, worklistShardItemId#848979L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#848981, demandStream, demandStream#848982, kpis, kpis#848983), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#848981, demandStream, demandStream#848982, kpis, kpis#848983), 0, 0)#848977]
Results [3]: [shardId#848978, worklistShardItemId#848979L, collect_list(struct(demandChannel, demandChannel#848981, demandStream, demandStream#848982, kpis, kpis#848983), 0, 0)#848977 AS channelStreamSpecificKpis#848970]
(37) Sort [codegen id : 9]
Input [3]: [shardId#848978, worklistShardItemId#848979L, channelStreamSpecificKpis#848970]
Arguments: [shardId#848978 ASC NULLS FIRST, worklistShardItemId#848979L ASC NULLS FIRST], false, 0
(38) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#847553, worklistShardItemId#848065L]
Right keys [2]: [shardId#848978, worklistShardItemId#848979L]
Join type: LeftOuter
Join condition: None
(39) Project [codegen id : 10]
Output [41]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, prodLocSpecificKpis#848969, coalesce(channelStreamSpecificKpis#848970, []) AS channelStreamSpecificKpis#848984]
Input [43]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, prodLocSpecificKpis#848969, shardId#848978, worklistShardItemId#848979L, channelStreamSpecificKpis#848970]
(40) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#848991, worklistShardItemId#848992L, qty#848993, demandChannel#848994, demandStream#848995, kpis#848996]
Arguments: [shardId#848991, worklistShardItemId#848992L, qty#848993, demandChannel#848994, demandStream#848995, kpis#848996], MapPartitionsRDD[39920] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(41) Filter [codegen id : 11]
Input [6]: [shardId#848991, worklistShardItemId#848992L, qty#848993, demandChannel#848994, demandStream#848995, kpis#848996]
Condition : ((isnotnull(qty#848993) AND isnotnull(kpis#848996)) AND (isnotnull(shardId#848991) AND isnotnull(worklistShardItemId#848992L)))
(42) Project [codegen id : 11]
Output [4]: [shardId#848991, worklistShardItemId#848992L, qty#848993, kpis#848996]
Input [6]: [shardId#848991, worklistShardItemId#848992L, qty#848993, demandChannel#848994, demandStream#848995, kpis#848996]
(43) ObjectHashAggregate
Input [4]: [shardId#848991, worklistShardItemId#848992L, qty#848993, kpis#848996]
Keys [2]: [shardId#848991, worklistShardItemId#848992L]
Functions [1]: [partial_collect_list(struct(qty, qty#848993, kpis, kpis#848996), 0, 0)]
Aggregate Attributes [1]: [buf#849160]
Results [3]: [shardId#848991, worklistShardItemId#848992L, buf#849161]
(44) Exchange
Input [3]: [shardId#848991, worklistShardItemId#848992L, buf#849161]
Arguments: hashpartitioning(shardId#848991, worklistShardItemId#848992L, 20), ENSURE_REQUIREMENTS, [plan_id=336154]
(45) ObjectHashAggregate
Input [3]: [shardId#848991, worklistShardItemId#848992L, buf#849161]
Keys [2]: [shardId#848991, worklistShardItemId#848992L]
Functions [1]: [collect_list(struct(qty, qty#848993, kpis, kpis#848996), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#848993, kpis, kpis#848996), 0, 0)#848990]
Results [3]: [shardId#848991, worklistShardItemId#848992L, map_from_entries(collect_list(struct(qty, qty#848993, kpis, kpis#848996), 0, 0)#848990) AS quantityKpis#848985]
(46) Sort [codegen id : 12]
Input [3]: [shardId#848991, worklistShardItemId#848992L, quantityKpis#848985]
Arguments: [shardId#848991 ASC NULLS FIRST, worklistShardItemId#848992L ASC NULLS FIRST], false, 0
(47) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#847553, worklistShardItemId#848065L]
Right keys [2]: [shardId#848991, worklistShardItemId#848992L]
Join type: LeftOuter
Join condition: None
(48) Project [codegen id : 13]
Output [42]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, prodLocSpecificKpis#848969, channelStreamSpecificKpis#848984, coalesce(quantityKpis#848985, map(keys: [], values: [])) AS quantityKpis#848997]
Input [44]: [shardId#847553, worklistShardItemId#848065L, quantityAfterProdPlantOptimization#848066, qty#848067, orderProposalId#848266L, originalReplenishmentRunId#848308L, supplierGroup#848268, supplier#848269, supplyingPlant#848273, productGroup#848274, product#848275, plant#848270, subrange#848272, orderDateTime#848276, deliveryDateTime#848271, availabilityDateTime#848277, nextAvailabilityDateTime#848278, constraintValues#848299, constraintOperators#848298, constraintLabels#848297, logisticUnits#848293, orderQuantityBaseUom#848294, orderQuantityBaseUomUuid#848295, splitIndicator#848285L, netPriceAmount#848302, netPriceCurrencyCode#848303, netPriceQuantity#848304, netPriceQuantityUom#848305, netPriceQuantityUomUuid#848306, sourceOfSupplyUuid#848280, minimumOrderQuantity#848296, orderProposalItemId#848267, orderProposalItemGroupId#848290, optimizationGroups#848309, measurements#848307, externalProductId#848291, externalPlantId#848292, previousOrderProposal#848286L, isFallbackOrderOnly#848283, prodLocSpecificKpis#848969, channelStreamSpecificKpis#848984, shardId#848991, worklistShardItemId#848992L, quantityKpis#848985]
(49) Filter [codegen id : 1]
Input [4]: [orderProposalId#848223L, orderProposalItemId#848224, quantityKpis#848997, shardId#847553]
Condition : ((isnotnull(shardId#847553) AND (shardId#847553 = 0_1_10000002109)) AND (size(quantityKpis#848997, true) > 0))
(50) Project [codegen id : 1]
Output [3]: [orderProposalId#848223L, orderProposalItemId#848224, quantityKpis#848997]
Input [4]: [orderProposalId#848223L, orderProposalItemId#848224, quantityKpis#848997, shardId#847553]
(51) Generate [codegen id : 1]
Input [3]: [orderProposalId#848223L, orderProposalItemId#848224, quantityKpis#848997]
Arguments: explode(quantityKpis#848997), [orderProposalId#848223L, orderProposalItemId#848224], false, [orderQuantityInBaseUnit#852600, kpis#852601]
(52) Project
Output [7]: [orderProposalId#848223L, cast(orderProposalItemId#848224 as bigint) AS orderProposalItemId#852599L, orderQuantityInBaseUnit#852600, filter(kpis#852601, lambdafunction((lambda x_2235#852603.label = ServiceLevel), lambda x_2235#852603, false))[0].value AS serviceLevel#852602, filter(kpis#852601, lambdafunction((lambda x_2236#852605.label = RangeOfCoverage), lambda x_2236#852605, false))[0].value AS rangeOfCoverage#852604, filter(kpis#852601, lambdafunction((lambda x_2237#852607.label = ServiceLevelAtStartOfDelisting), lambda x_2237#852607, false))[0].value AS serviceLevelAtEndOfListing#852606, 10000002109 AS replenishmentRunId#852609L]
Input [4]: [orderProposalId#848223L, orderProposalItemId#848224, orderQuantityInBaseUnit#852600, kpis#852601]
(53) WriteFiles
Input [7]: [orderProposalId#848223L, orderProposalItemId#852599L, orderQuantityInBaseUnit#852600, serviceLevel#852602, rangeOfCoverage#852604, serviceLevelAtEndOfListing#852606, replenishmentRunId#852609L]
(54) Execute InsertIntoHadoopFsRelationCommand
Input: []
Arguments: hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/prp-op-traceability-results/raw/crp-order-qty-opt-service/additional-kpi-curves/10000002109/shardId=0_1_10000002109/sequenceId=0, false, Parquet, [path=hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/prp-op-traceability-results/raw/crp-order-qty-opt-service/additional-kpi-curves/10000002109/shardId=0_1_10000002109/sequenceId=0], Overwrite, [orderProposalId, orderProposalItemId, orderQuantityInBaseUnit, serviceLevel, rangeOfCoverage, serviceLevelAtEndOfListing, replenishmentRunId]