== 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#894404L, orderProposalItemId#894405, quantityKpis#895001, shardId#893734]
Arguments: [orderProposalId#894404L, orderProposalItemId#894405, quantityKpis#895001, shardId#893734], [isnotnull(shardId#893734), (shardId#893734 = 0_1_10000002109), (size(quantityKpis#895001, true) > 0)]
(2) InMemoryRelation
Arguments: [shardId#893734, worklistShardItemId#894246L, quantityAfterProdPlantOptimization#894247, qty#894248, orderProposalId#894404L, originalReplenishmentRunId#894407L, supplierGroup#894414, supplier#894415, supplyingPlant#894445, productGroup#894446, product#894417, plant#894418, subrange#894416, orderDateTime#894422, deliveryDateTime#894423, availabilityDateTime#894424, nextAvailabilityDateTime#894425, constraintValues#894439, constraintOperators#894437, constraintLabels#894436, logisticUnits#894441, orderQuantityBaseUom#894427, orderQuantityBaseUomUuid#894428, splitIndicator#894409L, netPriceAmount#894432, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [2]: [shardId#893734, items#893736]
Arguments: [shardId#893734, items#893736], [(size(items#893736, true) > 0), isnotnull(items#893736)]
(4) InMemoryRelation
Arguments: [shardId#893734, orderProposalId#893735L, items#893736, optimizationGroups#893737, isOptimal#893738, optimizationInsights#893740], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [6]: [shardId#893734, orderProposalId#893735L, items#893736, optimizationGroups#893737, isOptimal#893738, optimizationInsights#893740]
Arguments: [shardId#893734, orderProposalId#893735L, items#893736, optimizationGroups#893737, isOptimal#893738, optimizationInsights#893740], [isnotnull(shardId#893734), (shardId#893734 = 0_1_10000002109)]
(6) InMemoryRelation
Arguments: [shardId#893734, orderProposalId#893735L, items#893736, optimizationGroups#893737, isOptimal#893738, lastModified#893739, optimizationInsights#893740], StorageLevel(disk, memory, 2 replicas)
(7) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#893734, orderProposalId#893735L, items#893736, optimizationGroups#893737, isOptimal#893738, lastModified#893739, optimizationInsights#893740]
Arguments: [shardId#893734, orderProposalId#893735L, items#893736, optimizationGroups#893737, isOptimal#893738, lastModified#893739, optimizationInsights#893740], MapPartitionsRDD[41954] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(8) Filter [codegen id : 1]
Input [7]: [shardId#893734, orderProposalId#893735L, items#893736, optimizationGroups#893737, isOptimal#893738, lastModified#893739, optimizationInsights#893740]
Condition : (isnotnull(shardId#893734) AND (shardId#893734 = 0_1_10000002109))
(9) Filter [codegen id : 1]
Input [6]: [shardId#893734, orderProposalId#893735L, items#893736, optimizationGroups#893737, isOptimal#893738, optimizationInsights#893740]
Condition : (isnotnull(shardId#893734) AND (shardId#893734 = 0_1_10000002109))
(10) Filter [codegen id : 3]
Input [2]: [shardId#893734, items#893736]
Condition : ((size(items#893736, true) > 0) AND isnotnull(items#893736))
(11) Generate [codegen id : 3]
Input [2]: [shardId#893734, items#893736]
Arguments: explode(items#893736), [shardId#893734], false, [item#894245]
(12) Project [codegen id : 3]
Output [4]: [shardId#893734, item#894245.worklistShardItemId AS worklistShardItemId#894246L, item#894245.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#894247, item#894245.qty AS qty#894248]
Input [2]: [shardId#893734, item#894245]
(13) Scan parquet
Output [38]: [orderProposalId#894447L, orderProposalItemId#894448, supplierGroup#894449, supplier#894450, plant#894451, deliveryDateTime#894452, subrange#894453, supplyingPlant#894454, productGroup#894455, product#894456, orderDateTime#894457, availabilityDateTime#894458, nextAvailabilityDateTime#894459, sourceOfSupplyUuid#894461, isFallbackOrderOnly#894464, splitIndicator#894466L, previousOrderProposal#894467L, worklistShardItemId#894470L, orderProposalItemGroupId#894471, externalProductId#894472, externalPlantId#894473, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, minimumOrderQuantity#894477, constraintLabels#894478, constraintOperators#894479, constraintValues#894480, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, measurements#894488, originalReplenishmentRunId#894489L, optimizationGroups#894490, shardId#894491, sequenceId#894469]
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#894491), isnotnull(sequenceId#894469), (shardId#894491 = 0_1_10000002109), (sequenceId#894469 = 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#894447L, orderProposalItemId#894448, supplierGroup#894449, supplier#894450, plant#894451, deliveryDateTime#894452, subrange#894453, supplyingPlant#894454, productGroup#894455, product#894456, orderDateTime#894457, availabilityDateTime#894458, nextAvailabilityDateTime#894459, sourceOfSupplyUuid#894461, isFallbackOrderOnly#894464, splitIndicator#894466L, previousOrderProposal#894467L, worklistShardItemId#894470L, orderProposalItemGroupId#894471, externalProductId#894472, externalPlantId#894473, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, minimumOrderQuantity#894477, constraintLabels#894478, constraintOperators#894479, constraintValues#894480, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, measurements#894488, originalReplenishmentRunId#894489L, optimizationGroups#894490, shardId#894491, sequenceId#894469]
(15) Filter [codegen id : 1]
Input [38]: [orderProposalId#894447L, orderProposalItemId#894448, supplierGroup#894449, supplier#894450, plant#894451, deliveryDateTime#894452, subrange#894453, supplyingPlant#894454, productGroup#894455, product#894456, orderDateTime#894457, availabilityDateTime#894458, nextAvailabilityDateTime#894459, sourceOfSupplyUuid#894461, isFallbackOrderOnly#894464, splitIndicator#894466L, previousOrderProposal#894467L, worklistShardItemId#894470L, orderProposalItemGroupId#894471, externalProductId#894472, externalPlantId#894473, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, minimumOrderQuantity#894477, constraintLabels#894478, constraintOperators#894479, constraintValues#894480, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, measurements#894488, originalReplenishmentRunId#894489L, optimizationGroups#894490, shardId#894491, sequenceId#894469]
Condition : isnotnull(worklistShardItemId#894470L)
(16) Project [codegen id : 1]
Output [36]: [orderProposalId#894447L, orderProposalItemId#894448, supplierGroup#894449, supplier#894450, plant#894451, deliveryDateTime#894452, subrange#894453, supplyingPlant#894454, productGroup#894455, product#894456, orderDateTime#894457, availabilityDateTime#894458, nextAvailabilityDateTime#894459, sourceOfSupplyUuid#894461, isFallbackOrderOnly#894464, splitIndicator#894466L, previousOrderProposal#894467L, worklistShardItemId#894470L, orderProposalItemGroupId#894471, externalProductId#894472, externalPlantId#894473, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, minimumOrderQuantity#894477, constraintLabels#894478, constraintOperators#894479, constraintValues#894480, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, measurements#894488, originalReplenishmentRunId#894489L, optimizationGroups#894490]
Input [38]: [orderProposalId#894447L, orderProposalItemId#894448, supplierGroup#894449, supplier#894450, plant#894451, deliveryDateTime#894452, subrange#894453, supplyingPlant#894454, productGroup#894455, product#894456, orderDateTime#894457, availabilityDateTime#894458, nextAvailabilityDateTime#894459, sourceOfSupplyUuid#894461, isFallbackOrderOnly#894464, splitIndicator#894466L, previousOrderProposal#894467L, worklistShardItemId#894470L, orderProposalItemGroupId#894471, externalProductId#894472, externalPlantId#894473, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, minimumOrderQuantity#894477, constraintLabels#894478, constraintOperators#894479, constraintValues#894480, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, measurements#894488, originalReplenishmentRunId#894489L, optimizationGroups#894490, shardId#894491, sequenceId#894469]
(17) Exchange
Input [36]: [orderProposalId#894447L, orderProposalItemId#894448, supplierGroup#894449, supplier#894450, plant#894451, deliveryDateTime#894452, subrange#894453, supplyingPlant#894454, productGroup#894455, product#894456, orderDateTime#894457, availabilityDateTime#894458, nextAvailabilityDateTime#894459, sourceOfSupplyUuid#894461, isFallbackOrderOnly#894464, splitIndicator#894466L, previousOrderProposal#894467L, worklistShardItemId#894470L, orderProposalItemGroupId#894471, externalProductId#894472, externalPlantId#894473, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, minimumOrderQuantity#894477, constraintLabels#894478, constraintOperators#894479, constraintValues#894480, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, measurements#894488, originalReplenishmentRunId#894489L, optimizationGroups#894490]
Arguments: hashpartitioning(worklistShardItemId#894470L, 20), REPARTITION_BY_NUM, [plan_id=349493]
(18) Project [codegen id : 2]
Output [36]: [worklistShardItemId#894470L, orderProposalId#894447L, orderProposalItemId#894448, orderProposalItemGroupId#894471, originalReplenishmentRunId#894489L, splitIndicator#894466L, previousOrderProposal#894467L, sourceOfSupplyUuid#894461, supplierGroup#894449, supplier#894450, subrange#894453, product#894456, plant#894451, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, isFallbackOrderOnly#894464, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, netPriceAmount#894483, netPriceCurrencyCode#894484, measurements#894488, minimumOrderQuantity#894477, constraintLabels#894478, constraintOperators#894479, constraintValues#894480, logisticUnits#894474, optimizationGroups#894490, externalProductId#894472, externalPlantId#894473, supplyingPlant#894454, productGroup#894455]
Input [36]: [orderProposalId#894447L, orderProposalItemId#894448, supplierGroup#894449, supplier#894450, plant#894451, deliveryDateTime#894452, subrange#894453, supplyingPlant#894454, productGroup#894455, product#894456, orderDateTime#894457, availabilityDateTime#894458, nextAvailabilityDateTime#894459, sourceOfSupplyUuid#894461, isFallbackOrderOnly#894464, splitIndicator#894466L, previousOrderProposal#894467L, worklistShardItemId#894470L, orderProposalItemGroupId#894471, externalProductId#894472, externalPlantId#894473, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, minimumOrderQuantity#894477, constraintLabels#894478, constraintOperators#894479, constraintValues#894480, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, measurements#894488, originalReplenishmentRunId#894489L, optimizationGroups#894490]
(19) BroadcastExchange
Input [36]: [worklistShardItemId#894470L, orderProposalId#894447L, orderProposalItemId#894448, orderProposalItemGroupId#894471, originalReplenishmentRunId#894489L, splitIndicator#894466L, previousOrderProposal#894467L, sourceOfSupplyUuid#894461, supplierGroup#894449, supplier#894450, subrange#894453, product#894456, plant#894451, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, isFallbackOrderOnly#894464, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, netPriceAmount#894483, netPriceCurrencyCode#894484, measurements#894488, minimumOrderQuantity#894477, constraintLabels#894478, constraintOperators#894479, constraintValues#894480, logisticUnits#894474, optimizationGroups#894490, externalProductId#894472, externalPlantId#894473, supplyingPlant#894454, productGroup#894455]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=349497]
(20) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#894246L]
Right keys [1]: [worklistShardItemId#894470L]
Join type: LeftOuter
Join condition: (shardId#893734 = 0_1_10000002109)
(21) Project [codegen id : 3]
Output [39]: [shardId#893734, worklistShardItemId#894246L, quantityAfterProdPlantOptimization#894247, qty#894248, orderProposalId#894447L, originalReplenishmentRunId#894489L, supplierGroup#894449, supplier#894450, supplyingPlant#894454, productGroup#894455, product#894456, plant#894451, subrange#894453, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, constraintValues#894480, constraintOperators#894479, constraintLabels#894478, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, splitIndicator#894466L, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, sourceOfSupplyUuid#894461, minimumOrderQuantity#894477, orderProposalItemId#894448, orderProposalItemGroupId#894471, optimizationGroups#894490, measurements#894488, externalProductId#894472, externalPlantId#894473, previousOrderProposal#894467L, isFallbackOrderOnly#894464]
Input [40]: [shardId#893734, worklistShardItemId#894246L, quantityAfterProdPlantOptimization#894247, qty#894248, worklistShardItemId#894470L, orderProposalId#894447L, orderProposalItemId#894448, orderProposalItemGroupId#894471, originalReplenishmentRunId#894489L, splitIndicator#894466L, previousOrderProposal#894467L, sourceOfSupplyUuid#894461, supplierGroup#894449, supplier#894450, subrange#894453, product#894456, plant#894451, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, isFallbackOrderOnly#894464, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, netPriceAmount#894483, netPriceCurrencyCode#894484, measurements#894488, minimumOrderQuantity#894477, constraintLabels#894478, constraintOperators#894479, constraintValues#894480, logisticUnits#894474, optimizationGroups#894490, externalProductId#894472, externalPlantId#894473, supplyingPlant#894454, productGroup#894455]
(22) Exchange
Input [39]: [shardId#893734, worklistShardItemId#894246L, quantityAfterProdPlantOptimization#894247, qty#894248, orderProposalId#894447L, originalReplenishmentRunId#894489L, supplierGroup#894449, supplier#894450, supplyingPlant#894454, productGroup#894455, product#894456, plant#894451, subrange#894453, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, constraintValues#894480, constraintOperators#894479, constraintLabels#894478, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, splitIndicator#894466L, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, sourceOfSupplyUuid#894461, minimumOrderQuantity#894477, orderProposalItemId#894448, orderProposalItemGroupId#894471, optimizationGroups#894490, measurements#894488, externalProductId#894472, externalPlantId#894473, previousOrderProposal#894467L, isFallbackOrderOnly#894464]
Arguments: hashpartitioning(shardId#893734, worklistShardItemId#894246L, 20), ENSURE_REQUIREMENTS, [plan_id=349502]
(23) Sort [codegen id : 4]
Input [39]: [shardId#893734, worklistShardItemId#894246L, quantityAfterProdPlantOptimization#894247, qty#894248, orderProposalId#894447L, originalReplenishmentRunId#894489L, supplierGroup#894449, supplier#894450, supplyingPlant#894454, productGroup#894455, product#894456, plant#894451, subrange#894453, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, constraintValues#894480, constraintOperators#894479, constraintLabels#894478, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, splitIndicator#894466L, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, sourceOfSupplyUuid#894461, minimumOrderQuantity#894477, orderProposalItemId#894448, orderProposalItemGroupId#894471, optimizationGroups#894490, measurements#894488, externalProductId#894472, externalPlantId#894473, previousOrderProposal#894467L, isFallbackOrderOnly#894464]
Arguments: [shardId#893734 ASC NULLS FIRST, worklistShardItemId#894246L ASC NULLS FIRST], false, 0
(24) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#894966, worklistShardItemId#894967L, qty#894968, demandChannel#894969, demandStream#894970, kpis#894971]
Arguments: [shardId#894966, worklistShardItemId#894967L, qty#894968, demandChannel#894969, demandStream#894970, kpis#894971], MapPartitionsRDD[42014] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(25) Filter [codegen id : 5]
Input [6]: [shardId#894966, worklistShardItemId#894967L, qty#894968, demandChannel#894969, demandStream#894970, kpis#894971]
Condition : (((isnull(qty#894968) AND isnull(demandChannel#894969)) AND isnull(demandStream#894970)) AND (isnotnull(shardId#894966) AND isnotnull(worklistShardItemId#894967L)))
(26) Project [codegen id : 5]
Output [3]: [shardId#894966, worklistShardItemId#894967L, coalesce(kpis#894971, []) AS prodLocSpecificKpis#894972]
Input [6]: [shardId#894966, worklistShardItemId#894967L, qty#894968, demandChannel#894969, demandStream#894970, kpis#894971]
(27) Exchange
Input [3]: [shardId#894966, worklistShardItemId#894967L, prodLocSpecificKpis#894972]
Arguments: hashpartitioning(shardId#894966, worklistShardItemId#894967L, 20), ENSURE_REQUIREMENTS, [plan_id=349508]
(28) Sort [codegen id : 6]
Input [3]: [shardId#894966, worklistShardItemId#894967L, prodLocSpecificKpis#894972]
Arguments: [shardId#894966 ASC NULLS FIRST, worklistShardItemId#894967L ASC NULLS FIRST], false, 0
(29) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#893734, worklistShardItemId#894246L]
Right keys [2]: [shardId#894966, worklistShardItemId#894967L]
Join type: LeftOuter
Join condition: None
(30) Project [codegen id : 7]
Output [40]: [shardId#893734, worklistShardItemId#894246L, quantityAfterProdPlantOptimization#894247, qty#894248, orderProposalId#894447L, originalReplenishmentRunId#894489L, supplierGroup#894449, supplier#894450, supplyingPlant#894454, productGroup#894455, product#894456, plant#894451, subrange#894453, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, constraintValues#894480, constraintOperators#894479, constraintLabels#894478, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, splitIndicator#894466L, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, sourceOfSupplyUuid#894461, minimumOrderQuantity#894477, orderProposalItemId#894448, orderProposalItemGroupId#894471, optimizationGroups#894490, measurements#894488, externalProductId#894472, externalPlantId#894473, previousOrderProposal#894467L, isFallbackOrderOnly#894464, coalesce(prodLocSpecificKpis#894972, []) AS prodLocSpecificKpis#894973]
Input [42]: [shardId#893734, worklistShardItemId#894246L, quantityAfterProdPlantOptimization#894247, qty#894248, orderProposalId#894447L, originalReplenishmentRunId#894489L, supplierGroup#894449, supplier#894450, supplyingPlant#894454, productGroup#894455, product#894456, plant#894451, subrange#894453, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, constraintValues#894480, constraintOperators#894479, constraintLabels#894478, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, splitIndicator#894466L, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, sourceOfSupplyUuid#894461, minimumOrderQuantity#894477, orderProposalItemId#894448, orderProposalItemGroupId#894471, optimizationGroups#894490, measurements#894488, externalProductId#894472, externalPlantId#894473, previousOrderProposal#894467L, isFallbackOrderOnly#894464, shardId#894966, worklistShardItemId#894967L, prodLocSpecificKpis#894972]
(31) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#894982, worklistShardItemId#894983L, qty#894984, demandChannel#894985, demandStream#894986, kpis#894987]
Arguments: [shardId#894982, worklistShardItemId#894983L, qty#894984, demandChannel#894985, demandStream#894986, kpis#894987], MapPartitionsRDD[42014] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(32) Filter [codegen id : 8]
Input [6]: [shardId#894982, worklistShardItemId#894983L, qty#894984, demandChannel#894985, demandStream#894986, kpis#894987]
Condition : ((((isnull(qty#894984) AND isnotnull(demandChannel#894985)) AND isnotnull(demandStream#894986)) AND (size(kpis#894987, true) > 0)) AND (isnotnull(shardId#894982) AND isnotnull(worklistShardItemId#894983L)))
(33) Project [codegen id : 8]
Output [5]: [shardId#894982, worklistShardItemId#894983L, demandChannel#894985, demandStream#894986, kpis#894987]
Input [6]: [shardId#894982, worklistShardItemId#894983L, qty#894984, demandChannel#894985, demandStream#894986, kpis#894987]
(34) ObjectHashAggregate
Input [5]: [shardId#894982, worklistShardItemId#894983L, demandChannel#894985, demandStream#894986, kpis#894987]
Keys [2]: [shardId#894982, worklistShardItemId#894983L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#894985, demandStream, demandStream#894986, kpis, kpis#894987), 0, 0)]
Aggregate Attributes [1]: [buf#895162]
Results [3]: [shardId#894982, worklistShardItemId#894983L, buf#895163]
(35) Exchange
Input [3]: [shardId#894982, worklistShardItemId#894983L, buf#895163]
Arguments: hashpartitioning(shardId#894982, worklistShardItemId#894983L, 20), ENSURE_REQUIREMENTS, [plan_id=349519]
(36) ObjectHashAggregate
Input [3]: [shardId#894982, worklistShardItemId#894983L, buf#895163]
Keys [2]: [shardId#894982, worklistShardItemId#894983L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#894985, demandStream, demandStream#894986, kpis, kpis#894987), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#894985, demandStream, demandStream#894986, kpis, kpis#894987), 0, 0)#894981]
Results [3]: [shardId#894982, worklistShardItemId#894983L, collect_list(struct(demandChannel, demandChannel#894985, demandStream, demandStream#894986, kpis, kpis#894987), 0, 0)#894981 AS channelStreamSpecificKpis#894974]
(37) Sort [codegen id : 9]
Input [3]: [shardId#894982, worklistShardItemId#894983L, channelStreamSpecificKpis#894974]
Arguments: [shardId#894982 ASC NULLS FIRST, worklistShardItemId#894983L ASC NULLS FIRST], false, 0
(38) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#893734, worklistShardItemId#894246L]
Right keys [2]: [shardId#894982, worklistShardItemId#894983L]
Join type: LeftOuter
Join condition: None
(39) Project [codegen id : 10]
Output [41]: [shardId#893734, worklistShardItemId#894246L, quantityAfterProdPlantOptimization#894247, qty#894248, orderProposalId#894447L, originalReplenishmentRunId#894489L, supplierGroup#894449, supplier#894450, supplyingPlant#894454, productGroup#894455, product#894456, plant#894451, subrange#894453, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, constraintValues#894480, constraintOperators#894479, constraintLabels#894478, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, splitIndicator#894466L, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, sourceOfSupplyUuid#894461, minimumOrderQuantity#894477, orderProposalItemId#894448, orderProposalItemGroupId#894471, optimizationGroups#894490, measurements#894488, externalProductId#894472, externalPlantId#894473, previousOrderProposal#894467L, isFallbackOrderOnly#894464, prodLocSpecificKpis#894973, coalesce(channelStreamSpecificKpis#894974, []) AS channelStreamSpecificKpis#894988]
Input [43]: [shardId#893734, worklistShardItemId#894246L, quantityAfterProdPlantOptimization#894247, qty#894248, orderProposalId#894447L, originalReplenishmentRunId#894489L, supplierGroup#894449, supplier#894450, supplyingPlant#894454, productGroup#894455, product#894456, plant#894451, subrange#894453, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, constraintValues#894480, constraintOperators#894479, constraintLabels#894478, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, splitIndicator#894466L, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, sourceOfSupplyUuid#894461, minimumOrderQuantity#894477, orderProposalItemId#894448, orderProposalItemGroupId#894471, optimizationGroups#894490, measurements#894488, externalProductId#894472, externalPlantId#894473, previousOrderProposal#894467L, isFallbackOrderOnly#894464, prodLocSpecificKpis#894973, shardId#894982, worklistShardItemId#894983L, channelStreamSpecificKpis#894974]
(40) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#894995, worklistShardItemId#894996L, qty#894997, demandChannel#894998, demandStream#894999, kpis#895000]
Arguments: [shardId#894995, worklistShardItemId#894996L, qty#894997, demandChannel#894998, demandStream#894999, kpis#895000], MapPartitionsRDD[42014] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(41) Filter [codegen id : 11]
Input [6]: [shardId#894995, worklistShardItemId#894996L, qty#894997, demandChannel#894998, demandStream#894999, kpis#895000]
Condition : ((isnotnull(qty#894997) AND isnotnull(kpis#895000)) AND (isnotnull(shardId#894995) AND isnotnull(worklistShardItemId#894996L)))
(42) Project [codegen id : 11]
Output [4]: [shardId#894995, worklistShardItemId#894996L, qty#894997, kpis#895000]
Input [6]: [shardId#894995, worklistShardItemId#894996L, qty#894997, demandChannel#894998, demandStream#894999, kpis#895000]
(43) ObjectHashAggregate
Input [4]: [shardId#894995, worklistShardItemId#894996L, qty#894997, kpis#895000]
Keys [2]: [shardId#894995, worklistShardItemId#894996L]
Functions [1]: [partial_collect_list(struct(qty, qty#894997, kpis, kpis#895000), 0, 0)]
Aggregate Attributes [1]: [buf#895164]
Results [3]: [shardId#894995, worklistShardItemId#894996L, buf#895165]
(44) Exchange
Input [3]: [shardId#894995, worklistShardItemId#894996L, buf#895165]
Arguments: hashpartitioning(shardId#894995, worklistShardItemId#894996L, 20), ENSURE_REQUIREMENTS, [plan_id=349531]
(45) ObjectHashAggregate
Input [3]: [shardId#894995, worklistShardItemId#894996L, buf#895165]
Keys [2]: [shardId#894995, worklistShardItemId#894996L]
Functions [1]: [collect_list(struct(qty, qty#894997, kpis, kpis#895000), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#894997, kpis, kpis#895000), 0, 0)#894994]
Results [3]: [shardId#894995, worklistShardItemId#894996L, map_from_entries(collect_list(struct(qty, qty#894997, kpis, kpis#895000), 0, 0)#894994) AS quantityKpis#894989]
(46) Sort [codegen id : 12]
Input [3]: [shardId#894995, worklistShardItemId#894996L, quantityKpis#894989]
Arguments: [shardId#894995 ASC NULLS FIRST, worklistShardItemId#894996L ASC NULLS FIRST], false, 0
(47) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#893734, worklistShardItemId#894246L]
Right keys [2]: [shardId#894995, worklistShardItemId#894996L]
Join type: LeftOuter
Join condition: None
(48) Project [codegen id : 13]
Output [42]: [shardId#893734, worklistShardItemId#894246L, quantityAfterProdPlantOptimization#894247, qty#894248, orderProposalId#894447L, originalReplenishmentRunId#894489L, supplierGroup#894449, supplier#894450, supplyingPlant#894454, productGroup#894455, product#894456, plant#894451, subrange#894453, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, constraintValues#894480, constraintOperators#894479, constraintLabels#894478, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, splitIndicator#894466L, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, sourceOfSupplyUuid#894461, minimumOrderQuantity#894477, orderProposalItemId#894448, orderProposalItemGroupId#894471, optimizationGroups#894490, measurements#894488, externalProductId#894472, externalPlantId#894473, previousOrderProposal#894467L, isFallbackOrderOnly#894464, prodLocSpecificKpis#894973, channelStreamSpecificKpis#894988, coalesce(quantityKpis#894989, map(keys: [], values: [])) AS quantityKpis#895001]
Input [44]: [shardId#893734, worklistShardItemId#894246L, quantityAfterProdPlantOptimization#894247, qty#894248, orderProposalId#894447L, originalReplenishmentRunId#894489L, supplierGroup#894449, supplier#894450, supplyingPlant#894454, productGroup#894455, product#894456, plant#894451, subrange#894453, orderDateTime#894457, deliveryDateTime#894452, availabilityDateTime#894458, nextAvailabilityDateTime#894459, constraintValues#894480, constraintOperators#894479, constraintLabels#894478, logisticUnits#894474, orderQuantityBaseUom#894475, orderQuantityBaseUomUuid#894476, splitIndicator#894466L, netPriceAmount#894483, netPriceCurrencyCode#894484, netPriceQuantity#894485, netPriceQuantityUom#894486, netPriceQuantityUomUuid#894487, sourceOfSupplyUuid#894461, minimumOrderQuantity#894477, orderProposalItemId#894448, orderProposalItemGroupId#894471, optimizationGroups#894490, measurements#894488, externalProductId#894472, externalPlantId#894473, previousOrderProposal#894467L, isFallbackOrderOnly#894464, prodLocSpecificKpis#894973, channelStreamSpecificKpis#894988, shardId#894995, worklistShardItemId#894996L, quantityKpis#894989]
(49) Filter [codegen id : 1]
Input [4]: [orderProposalId#894404L, orderProposalItemId#894405, quantityKpis#895001, shardId#893734]
Condition : ((isnotnull(shardId#893734) AND (shardId#893734 = 0_1_10000002109)) AND (size(quantityKpis#895001, true) > 0))
(50) Project [codegen id : 1]
Output [3]: [orderProposalId#894404L, orderProposalItemId#894405, quantityKpis#895001]
Input [4]: [orderProposalId#894404L, orderProposalItemId#894405, quantityKpis#895001, shardId#893734]
(51) Generate [codegen id : 1]
Input [3]: [orderProposalId#894404L, orderProposalItemId#894405, quantityKpis#895001]
Arguments: explode(quantityKpis#895001), [orderProposalId#894404L, orderProposalItemId#894405], false, [orderQuantityInBaseUnit#898604, kpis#898605]
(52) Project
Output [7]: [orderProposalId#894404L, cast(orderProposalItemId#894405 as bigint) AS orderProposalItemId#898603L, orderQuantityInBaseUnit#898604, filter(kpis#898605, lambdafunction((lambda x_2369#898607.label = ServiceLevel), lambda x_2369#898607, false))[0].value AS serviceLevel#898606, filter(kpis#898605, lambdafunction((lambda x_2370#898609.label = RangeOfCoverage), lambda x_2370#898609, false))[0].value AS rangeOfCoverage#898608, filter(kpis#898605, lambdafunction((lambda x_2371#898611.label = ServiceLevelAtStartOfDelisting), lambda x_2371#898611, false))[0].value AS serviceLevelAtEndOfListing#898610, 10000002109 AS replenishmentRunId#898613L]
Input [4]: [orderProposalId#894404L, orderProposalItemId#894405, orderQuantityInBaseUnit#898604, kpis#898605]
(53) WriteFiles
Input [7]: [orderProposalId#894404L, orderProposalItemId#898603L, orderQuantityInBaseUnit#898604, serviceLevel#898606, rangeOfCoverage#898608, serviceLevelAtEndOfListing#898610, replenishmentRunId#898613L]
(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=2, 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=2], Overwrite, [orderProposalId, orderProposalItemId, orderQuantityInBaseUnit, serviceLevel, rangeOfCoverage, serviceLevelAtEndOfListing, replenishmentRunId]