== Physical Plan ==
Execute InsertIntoHadoopFsRelationCommand (109)
+- WriteFiles (108)
+- Sort (107)
+- Project (106)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- Project (105)
+- Exchange (104)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- ObjectHashAggregate (103)
+- Exchange (102)
+- ObjectHashAggregate (101)
+- Project (100)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- Project (99)
+- SortMergeJoin LeftOuter (98)
:- Sort (71)
: +- Exchange (70)
: +- Project (69)
: +- Project (68)
: +- ObjectHashAggregate (67)
: +- Exchange (66)
: +- ObjectHashAggregate (65)
: +- ObjectHashAggregate (64)
: +- Exchange (63)
: +- ObjectHashAggregate (62)
: +- Project (61)
: +- Project (60)
: +- Project (59)
: +- * Project (58)
: +- * Filter (57)
: +- InMemoryTableScan (7)
: +- InMemoryRelation (8)
: +- * Project (56)
: +- * SortMergeJoin LeftOuter (55)
: :- * Project (47)
: : +- * SortMergeJoin LeftOuter (46)
: : :- * Project (38)
: : : +- * SortMergeJoin LeftOuter (37)
: : : :- * Sort (31)
: : : : +- Exchange (30)
: : : : +- * Project (29)
: : : : +- * SortMergeJoin LeftOuter (28)
: : : : :- * Sort (20)
: : : : : +- Exchange (19)
: : : : : +- * Project (18)
: : : : : +- * Generate (17)
: : : : : +- * Filter (16)
: : : : : +- InMemoryTableScan (9)
: : : : : +- InMemoryRelation (10)
: : : : : +- * Filter (15)
: : : : : +- InMemoryTableScan (11)
: : : : : +- InMemoryRelation (12)
: : : : : +- * Filter (14)
: : : : : +- * Scan ExistingRDD (13)
: : : : +- * Sort (27)
: : : : +- * Project (26)
: : : : +- Exchange (25)
: : : : +- * Project (24)
: : : : +- * Filter (23)
: : : : +- * ColumnarToRow (22)
: : : : +- Scan parquet (21)
: : : +- * Sort (36)
: : : +- Exchange (35)
: : : +- * Project (34)
: : : +- * Filter (33)
: : : +- * Scan ExistingRDD (32)
: : +- * Sort (45)
: : +- ObjectHashAggregate (44)
: : +- Exchange (43)
: : +- ObjectHashAggregate (42)
: : +- * Project (41)
: : +- * Filter (40)
: : +- * Scan ExistingRDD (39)
: +- * Sort (54)
: +- ObjectHashAggregate (53)
: +- Exchange (52)
: +- ObjectHashAggregate (51)
: +- * Project (50)
: +- * Filter (49)
: +- * Scan ExistingRDD (48)
+- * Sort (97)
+- Exchange (96)
+- Project (95)
+- * BroadcastHashJoin Inner BuildLeft (94)
:- BroadcastExchange (75)
: +- * Filter (74)
: +- InMemoryTableScan (72)
: +- InMemoryRelation (73)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * HashAggregate (93)
+- Exchange (92)
+- * HashAggregate (91)
+- * Project (90)
+- * BroadcastHashJoin Inner BuildLeft (89)
:- BroadcastExchange (82)
: +- * Project (81)
: +- * Generate (80)
: +- * Project (79)
: +- * Filter (78)
: +- InMemoryTableScan (76)
: +- InMemoryRelation (77)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * Project (88)
+- Exchange (87)
+- * Project (86)
+- * Filter (85)
+- * ColumnarToRow (84)
+- Scan parquet (83)
(1) InMemoryTableScan
Output [2]: [orderProposals#756457, shardId#752363]
Arguments: [orderProposals#756457, shardId#752363]
(2) InMemoryRelation
Arguments: [shardId#752363, orderProposals#756457], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#752363, resultSeparationId#756453L, orderProposals#756457]
Arguments: [shardId#752363, resultSeparationId#756453L, orderProposals#756457]
(4) InMemoryRelation
Arguments: [shardId#752363, resultSeparationId#756453L, orderProposals#756457], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#754701, shardId#752363]
Arguments: [orderProposal#754701, shardId#752363]
(6) InMemoryRelation
Arguments: [shardId#752363, orderProposal#754701], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#753053, channelStreamSpecificKpis#753794, constraintLabels#753065, constraintOperators#753066, constraintValues#753068, deliveryDateTime#753052, isFallbackOrderOnly#753055, logisticUnits#753070, measurements#753063, minimumOrderQuantity#753064, netPriceAmount#753061, netPriceCurrencyCode#753062, netPriceQuantity#753058, netPriceQuantityUom#753059, netPriceQuantityUomUuid#753060, nextAvailabilityDateTime#753054, optimizationGroups#753071, orderDateTime#753051, orderProposalId#753033L, orderProposalItemGroupId#753035, orderProposalItemId#753034, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid#753057, originalReplenishmentRunId#753036L, plant#753047, previousOrderProposal#753039L, prodLocSpecificKpis#753779, product#753046, productGroup#753075, qty#752877, quantityAfterProdPlantOptimization#752876, quantityKpis#753807, shardId#752363, sourceOfSupplyUuid#753042, splitIndicator#753038L, subrange#753045, supplier#753044, supplierGroup#753043, supplyingPlant#753074]
Arguments: [availabilityDateTime#753053, channelStreamSpecificKpis#753794, constraintLabels#753065, constraintOperators#753066, constraintValues#753068, deliveryDateTime#753052, isFallbackOrderOnly#753055, logisticUnits#753070, measurements#753063, minimumOrderQuantity#753064, netPriceAmount#753061, netPriceCurrencyCode#753062, netPriceQuantity#753058, netPriceQuantityUom#753059, netPriceQuantityUomUuid#753060, nextAvailabilityDateTime#753054, optimizationGroups#753071, orderDateTime#753051, orderProposalId#753033L, orderProposalItemGroupId#753035, orderProposalItemId#753034, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid#753057, originalReplenishmentRunId#753036L, plant#753047, ... 14 more fields], [NOT (isFallbackOrderOnly#753055 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753033L, originalReplenishmentRunId#753036L, supplierGroup#753043, supplier#753044, supplyingPlant#753074, productGroup#753075, product#753046, plant#753047, subrange#753045, orderDateTime#753051, deliveryDateTime#753052, availabilityDateTime#753053, nextAvailabilityDateTime#753054, constraintValues#753068, constraintOperators#753066, constraintLabels#753065, logisticUnits#753070, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid#753057, splitIndicator#753038L, netPriceAmount#753061, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#752363, items#752365]
Arguments: [shardId#752363, items#752365], [(size(items#752365, true) > 0), isnotnull(items#752365)]
(10) InMemoryRelation
Arguments: [shardId#752363, orderProposalId#752364L, items#752365, optimizationGroups#752366, isOptimal#752367, optimizationInsights#752369], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#752363, orderProposalId#752364L, items#752365, optimizationGroups#752366, isOptimal#752367, optimizationInsights#752369]
Arguments: [shardId#752363, orderProposalId#752364L, items#752365, optimizationGroups#752366, isOptimal#752367, optimizationInsights#752369], [isnotnull(shardId#752363), (shardId#752363 = 0_1_10000002108)]
(12) InMemoryRelation
Arguments: [shardId#752363, orderProposalId#752364L, items#752365, optimizationGroups#752366, isOptimal#752367, lastModified#752368, optimizationInsights#752369], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#752363, orderProposalId#752364L, items#752365, optimizationGroups#752366, isOptimal#752367, lastModified#752368, optimizationInsights#752369]
Arguments: [shardId#752363, orderProposalId#752364L, items#752365, optimizationGroups#752366, isOptimal#752367, lastModified#752368, optimizationInsights#752369], MapPartitionsRDD[35440] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#752363, orderProposalId#752364L, items#752365, optimizationGroups#752366, isOptimal#752367, lastModified#752368, optimizationInsights#752369]
Condition : (isnotnull(shardId#752363) AND (shardId#752363 = 0_1_10000002108))
(15) Filter [codegen id : 1]
Input [6]: [shardId#752363, orderProposalId#752364L, items#752365, optimizationGroups#752366, isOptimal#752367, optimizationInsights#752369]
Condition : (isnotnull(shardId#752363) AND (shardId#752363 = 0_1_10000002108))
(16) Filter [codegen id : 1]
Input [2]: [shardId#752363, items#752365]
Condition : ((size(items#752365, true) > 0) AND isnotnull(items#752365))
(17) Generate [codegen id : 1]
Input [2]: [shardId#752363, items#752365]
Arguments: explode(items#752365), [shardId#752363], false, [item#752874]
(18) Project [codegen id : 1]
Output [4]: [shardId#752363, item#752874.worklistShardItemId AS worklistShardItemId#752875L, item#752874.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#752876, item#752874.qty AS qty#752877]
Input [2]: [shardId#752363, item#752874]
(19) Exchange
Input [4]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877]
Arguments: hashpartitioning(worklistShardItemId#752875L, 20), ENSURE_REQUIREMENTS, [plan_id=301646]
(20) Sort [codegen id : 2]
Input [4]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877]
Arguments: [worklistShardItemId#752875L ASC NULLS FIRST], false, 0
(21) Scan parquet
Output [38]: [orderProposalId#753076L, orderProposalItemId#753077, supplierGroup#753078, supplier#753079, plant#753080, deliveryDateTime#753081, subrange#753082, supplyingPlant#753083, productGroup#753084, product#753085, orderDateTime#753086, availabilityDateTime#753087, nextAvailabilityDateTime#753088, sourceOfSupplyUuid#753090, isFallbackOrderOnly#753093, splitIndicator#753095L, previousOrderProposal#753096L, worklistShardItemId#753099L, orderProposalItemGroupId#753100, externalProductId#753101, externalPlantId#753102, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, minimumOrderQuantity#753106, constraintLabels#753107, constraintOperators#753108, constraintValues#753109, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, measurements#753117, originalReplenishmentRunId#753118L, optimizationGroups#753119, shardId#753120, sequenceId#753098]
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/10000002108]
PartitionFilters: [isnotnull(shardId#753120), isnotnull(sequenceId#753098), (shardId#753120 = 0_1_10000002108), (sequenceId#753098 = 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>>
(22) ColumnarToRow [codegen id : 3]
Input [38]: [orderProposalId#753076L, orderProposalItemId#753077, supplierGroup#753078, supplier#753079, plant#753080, deliveryDateTime#753081, subrange#753082, supplyingPlant#753083, productGroup#753084, product#753085, orderDateTime#753086, availabilityDateTime#753087, nextAvailabilityDateTime#753088, sourceOfSupplyUuid#753090, isFallbackOrderOnly#753093, splitIndicator#753095L, previousOrderProposal#753096L, worklistShardItemId#753099L, orderProposalItemGroupId#753100, externalProductId#753101, externalPlantId#753102, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, minimumOrderQuantity#753106, constraintLabels#753107, constraintOperators#753108, constraintValues#753109, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, measurements#753117, originalReplenishmentRunId#753118L, optimizationGroups#753119, shardId#753120, sequenceId#753098]
(23) Filter [codegen id : 3]
Input [38]: [orderProposalId#753076L, orderProposalItemId#753077, supplierGroup#753078, supplier#753079, plant#753080, deliveryDateTime#753081, subrange#753082, supplyingPlant#753083, productGroup#753084, product#753085, orderDateTime#753086, availabilityDateTime#753087, nextAvailabilityDateTime#753088, sourceOfSupplyUuid#753090, isFallbackOrderOnly#753093, splitIndicator#753095L, previousOrderProposal#753096L, worklistShardItemId#753099L, orderProposalItemGroupId#753100, externalProductId#753101, externalPlantId#753102, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, minimumOrderQuantity#753106, constraintLabels#753107, constraintOperators#753108, constraintValues#753109, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, measurements#753117, originalReplenishmentRunId#753118L, optimizationGroups#753119, shardId#753120, sequenceId#753098]
Condition : isnotnull(worklistShardItemId#753099L)
(24) Project [codegen id : 3]
Output [36]: [orderProposalId#753076L, orderProposalItemId#753077, supplierGroup#753078, supplier#753079, plant#753080, deliveryDateTime#753081, subrange#753082, supplyingPlant#753083, productGroup#753084, product#753085, orderDateTime#753086, availabilityDateTime#753087, nextAvailabilityDateTime#753088, sourceOfSupplyUuid#753090, isFallbackOrderOnly#753093, splitIndicator#753095L, previousOrderProposal#753096L, worklistShardItemId#753099L, orderProposalItemGroupId#753100, externalProductId#753101, externalPlantId#753102, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, minimumOrderQuantity#753106, constraintLabels#753107, constraintOperators#753108, constraintValues#753109, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, measurements#753117, originalReplenishmentRunId#753118L, optimizationGroups#753119]
Input [38]: [orderProposalId#753076L, orderProposalItemId#753077, supplierGroup#753078, supplier#753079, plant#753080, deliveryDateTime#753081, subrange#753082, supplyingPlant#753083, productGroup#753084, product#753085, orderDateTime#753086, availabilityDateTime#753087, nextAvailabilityDateTime#753088, sourceOfSupplyUuid#753090, isFallbackOrderOnly#753093, splitIndicator#753095L, previousOrderProposal#753096L, worklistShardItemId#753099L, orderProposalItemGroupId#753100, externalProductId#753101, externalPlantId#753102, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, minimumOrderQuantity#753106, constraintLabels#753107, constraintOperators#753108, constraintValues#753109, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, measurements#753117, originalReplenishmentRunId#753118L, optimizationGroups#753119, shardId#753120, sequenceId#753098]
(25) Exchange
Input [36]: [orderProposalId#753076L, orderProposalItemId#753077, supplierGroup#753078, supplier#753079, plant#753080, deliveryDateTime#753081, subrange#753082, supplyingPlant#753083, productGroup#753084, product#753085, orderDateTime#753086, availabilityDateTime#753087, nextAvailabilityDateTime#753088, sourceOfSupplyUuid#753090, isFallbackOrderOnly#753093, splitIndicator#753095L, previousOrderProposal#753096L, worklistShardItemId#753099L, orderProposalItemGroupId#753100, externalProductId#753101, externalPlantId#753102, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, minimumOrderQuantity#753106, constraintLabels#753107, constraintOperators#753108, constraintValues#753109, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, measurements#753117, originalReplenishmentRunId#753118L, optimizationGroups#753119]
Arguments: hashpartitioning(worklistShardItemId#753099L, 20), REPARTITION_BY_NUM, [plan_id=301656]
(26) Project [codegen id : 4]
Output [36]: [worklistShardItemId#753099L, orderProposalId#753076L, orderProposalItemId#753077, orderProposalItemGroupId#753100, originalReplenishmentRunId#753118L, splitIndicator#753095L, previousOrderProposal#753096L, sourceOfSupplyUuid#753090, supplierGroup#753078, supplier#753079, subrange#753082, product#753085, plant#753080, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, isFallbackOrderOnly#753093, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, netPriceAmount#753112, netPriceCurrencyCode#753113, measurements#753117, minimumOrderQuantity#753106, constraintLabels#753107, constraintOperators#753108, constraintValues#753109, logisticUnits#753103, optimizationGroups#753119, externalProductId#753101, externalPlantId#753102, supplyingPlant#753083, productGroup#753084]
Input [36]: [orderProposalId#753076L, orderProposalItemId#753077, supplierGroup#753078, supplier#753079, plant#753080, deliveryDateTime#753081, subrange#753082, supplyingPlant#753083, productGroup#753084, product#753085, orderDateTime#753086, availabilityDateTime#753087, nextAvailabilityDateTime#753088, sourceOfSupplyUuid#753090, isFallbackOrderOnly#753093, splitIndicator#753095L, previousOrderProposal#753096L, worklistShardItemId#753099L, orderProposalItemGroupId#753100, externalProductId#753101, externalPlantId#753102, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, minimumOrderQuantity#753106, constraintLabels#753107, constraintOperators#753108, constraintValues#753109, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, measurements#753117, originalReplenishmentRunId#753118L, optimizationGroups#753119]
(27) Sort [codegen id : 4]
Input [36]: [worklistShardItemId#753099L, orderProposalId#753076L, orderProposalItemId#753077, orderProposalItemGroupId#753100, originalReplenishmentRunId#753118L, splitIndicator#753095L, previousOrderProposal#753096L, sourceOfSupplyUuid#753090, supplierGroup#753078, supplier#753079, subrange#753082, product#753085, plant#753080, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, isFallbackOrderOnly#753093, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, netPriceAmount#753112, netPriceCurrencyCode#753113, measurements#753117, minimumOrderQuantity#753106, constraintLabels#753107, constraintOperators#753108, constraintValues#753109, logisticUnits#753103, optimizationGroups#753119, externalProductId#753101, externalPlantId#753102, supplyingPlant#753083, productGroup#753084]
Arguments: [worklistShardItemId#753099L ASC NULLS FIRST], false, 0
(28) SortMergeJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#752875L]
Right keys [1]: [worklistShardItemId#753099L]
Join type: LeftOuter
Join condition: (shardId#752363 = 0_1_10000002108)
(29) Project [codegen id : 5]
Output [39]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753076L, originalReplenishmentRunId#753118L, supplierGroup#753078, supplier#753079, supplyingPlant#753083, productGroup#753084, product#753085, plant#753080, subrange#753082, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, constraintValues#753109, constraintOperators#753108, constraintLabels#753107, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, splitIndicator#753095L, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, sourceOfSupplyUuid#753090, minimumOrderQuantity#753106, orderProposalItemId#753077, orderProposalItemGroupId#753100, optimizationGroups#753119, measurements#753117, externalProductId#753101, externalPlantId#753102, previousOrderProposal#753096L, isFallbackOrderOnly#753093]
Input [40]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877, worklistShardItemId#753099L, orderProposalId#753076L, orderProposalItemId#753077, orderProposalItemGroupId#753100, originalReplenishmentRunId#753118L, splitIndicator#753095L, previousOrderProposal#753096L, sourceOfSupplyUuid#753090, supplierGroup#753078, supplier#753079, subrange#753082, product#753085, plant#753080, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, isFallbackOrderOnly#753093, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, netPriceAmount#753112, netPriceCurrencyCode#753113, measurements#753117, minimumOrderQuantity#753106, constraintLabels#753107, constraintOperators#753108, constraintValues#753109, logisticUnits#753103, optimizationGroups#753119, externalProductId#753101, externalPlantId#753102, supplyingPlant#753083, productGroup#753084]
(30) Exchange
Input [39]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753076L, originalReplenishmentRunId#753118L, supplierGroup#753078, supplier#753079, supplyingPlant#753083, productGroup#753084, product#753085, plant#753080, subrange#753082, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, constraintValues#753109, constraintOperators#753108, constraintLabels#753107, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, splitIndicator#753095L, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, sourceOfSupplyUuid#753090, minimumOrderQuantity#753106, orderProposalItemId#753077, orderProposalItemGroupId#753100, optimizationGroups#753119, measurements#753117, externalProductId#753101, externalPlantId#753102, previousOrderProposal#753096L, isFallbackOrderOnly#753093]
Arguments: hashpartitioning(shardId#752363, worklistShardItemId#752875L, 20), ENSURE_REQUIREMENTS, [plan_id=301665]
(31) Sort [codegen id : 6]
Input [39]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753076L, originalReplenishmentRunId#753118L, supplierGroup#753078, supplier#753079, supplyingPlant#753083, productGroup#753084, product#753085, plant#753080, subrange#753082, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, constraintValues#753109, constraintOperators#753108, constraintLabels#753107, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, splitIndicator#753095L, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, sourceOfSupplyUuid#753090, minimumOrderQuantity#753106, orderProposalItemId#753077, orderProposalItemGroupId#753100, optimizationGroups#753119, measurements#753117, externalProductId#753101, externalPlantId#753102, previousOrderProposal#753096L, isFallbackOrderOnly#753093]
Arguments: [shardId#752363 ASC NULLS FIRST, worklistShardItemId#752875L ASC NULLS FIRST], false, 0
(32) Scan ExistingRDD [codegen id : 7]
Output [6]: [shardId#753772, worklistShardItemId#753773L, qty#753774, demandChannel#753775, demandStream#753776, kpis#753777]
Arguments: [shardId#753772, worklistShardItemId#753773L, qty#753774, demandChannel#753775, demandStream#753776, kpis#753777], MapPartitionsRDD[35514] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(33) Filter [codegen id : 7]
Input [6]: [shardId#753772, worklistShardItemId#753773L, qty#753774, demandChannel#753775, demandStream#753776, kpis#753777]
Condition : (((isnull(qty#753774) AND isnull(demandChannel#753775)) AND isnull(demandStream#753776)) AND (isnotnull(shardId#753772) AND isnotnull(worklistShardItemId#753773L)))
(34) Project [codegen id : 7]
Output [3]: [shardId#753772, worklistShardItemId#753773L, coalesce(kpis#753777, []) AS prodLocSpecificKpis#753778]
Input [6]: [shardId#753772, worklistShardItemId#753773L, qty#753774, demandChannel#753775, demandStream#753776, kpis#753777]
(35) Exchange
Input [3]: [shardId#753772, worklistShardItemId#753773L, prodLocSpecificKpis#753778]
Arguments: hashpartitioning(shardId#753772, worklistShardItemId#753773L, 20), ENSURE_REQUIREMENTS, [plan_id=301671]
(36) Sort [codegen id : 8]
Input [3]: [shardId#753772, worklistShardItemId#753773L, prodLocSpecificKpis#753778]
Arguments: [shardId#753772 ASC NULLS FIRST, worklistShardItemId#753773L ASC NULLS FIRST], false, 0
(37) SortMergeJoin [codegen id : 9]
Left keys [2]: [shardId#752363, worklistShardItemId#752875L]
Right keys [2]: [shardId#753772, worklistShardItemId#753773L]
Join type: LeftOuter
Join condition: None
(38) Project [codegen id : 9]
Output [40]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753076L, originalReplenishmentRunId#753118L, supplierGroup#753078, supplier#753079, supplyingPlant#753083, productGroup#753084, product#753085, plant#753080, subrange#753082, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, constraintValues#753109, constraintOperators#753108, constraintLabels#753107, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, splitIndicator#753095L, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, sourceOfSupplyUuid#753090, minimumOrderQuantity#753106, orderProposalItemId#753077, orderProposalItemGroupId#753100, optimizationGroups#753119, measurements#753117, externalProductId#753101, externalPlantId#753102, previousOrderProposal#753096L, isFallbackOrderOnly#753093, coalesce(prodLocSpecificKpis#753778, []) AS prodLocSpecificKpis#753779]
Input [42]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753076L, originalReplenishmentRunId#753118L, supplierGroup#753078, supplier#753079, supplyingPlant#753083, productGroup#753084, product#753085, plant#753080, subrange#753082, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, constraintValues#753109, constraintOperators#753108, constraintLabels#753107, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, splitIndicator#753095L, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, sourceOfSupplyUuid#753090, minimumOrderQuantity#753106, orderProposalItemId#753077, orderProposalItemGroupId#753100, optimizationGroups#753119, measurements#753117, externalProductId#753101, externalPlantId#753102, previousOrderProposal#753096L, isFallbackOrderOnly#753093, shardId#753772, worklistShardItemId#753773L, prodLocSpecificKpis#753778]
(39) Scan ExistingRDD [codegen id : 10]
Output [6]: [shardId#753788, worklistShardItemId#753789L, qty#753790, demandChannel#753791, demandStream#753792, kpis#753793]
Arguments: [shardId#753788, worklistShardItemId#753789L, qty#753790, demandChannel#753791, demandStream#753792, kpis#753793], MapPartitionsRDD[35514] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(40) Filter [codegen id : 10]
Input [6]: [shardId#753788, worklistShardItemId#753789L, qty#753790, demandChannel#753791, demandStream#753792, kpis#753793]
Condition : ((((isnull(qty#753790) AND isnotnull(demandChannel#753791)) AND isnotnull(demandStream#753792)) AND (size(kpis#753793, true) > 0)) AND (isnotnull(shardId#753788) AND isnotnull(worklistShardItemId#753789L)))
(41) Project [codegen id : 10]
Output [5]: [shardId#753788, worklistShardItemId#753789L, demandChannel#753791, demandStream#753792, kpis#753793]
Input [6]: [shardId#753788, worklistShardItemId#753789L, qty#753790, demandChannel#753791, demandStream#753792, kpis#753793]
(42) ObjectHashAggregate
Input [5]: [shardId#753788, worklistShardItemId#753789L, demandChannel#753791, demandStream#753792, kpis#753793]
Keys [2]: [shardId#753788, worklistShardItemId#753789L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#753791, demandStream, demandStream#753792, kpis, kpis#753793), 0, 0)]
Aggregate Attributes [1]: [buf#753968]
Results [3]: [shardId#753788, worklistShardItemId#753789L, buf#753969]
(43) Exchange
Input [3]: [shardId#753788, worklistShardItemId#753789L, buf#753969]
Arguments: hashpartitioning(shardId#753788, worklistShardItemId#753789L, 20), ENSURE_REQUIREMENTS, [plan_id=301682]
(44) ObjectHashAggregate
Input [3]: [shardId#753788, worklistShardItemId#753789L, buf#753969]
Keys [2]: [shardId#753788, worklistShardItemId#753789L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#753791, demandStream, demandStream#753792, kpis, kpis#753793), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#753791, demandStream, demandStream#753792, kpis, kpis#753793), 0, 0)#753787]
Results [3]: [shardId#753788, worklistShardItemId#753789L, collect_list(struct(demandChannel, demandChannel#753791, demandStream, demandStream#753792, kpis, kpis#753793), 0, 0)#753787 AS channelStreamSpecificKpis#753780]
(45) Sort [codegen id : 11]
Input [3]: [shardId#753788, worklistShardItemId#753789L, channelStreamSpecificKpis#753780]
Arguments: [shardId#753788 ASC NULLS FIRST, worklistShardItemId#753789L ASC NULLS FIRST], false, 0
(46) SortMergeJoin [codegen id : 12]
Left keys [2]: [shardId#752363, worklistShardItemId#752875L]
Right keys [2]: [shardId#753788, worklistShardItemId#753789L]
Join type: LeftOuter
Join condition: None
(47) Project [codegen id : 12]
Output [41]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753076L, originalReplenishmentRunId#753118L, supplierGroup#753078, supplier#753079, supplyingPlant#753083, productGroup#753084, product#753085, plant#753080, subrange#753082, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, constraintValues#753109, constraintOperators#753108, constraintLabels#753107, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, splitIndicator#753095L, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, sourceOfSupplyUuid#753090, minimumOrderQuantity#753106, orderProposalItemId#753077, orderProposalItemGroupId#753100, optimizationGroups#753119, measurements#753117, externalProductId#753101, externalPlantId#753102, previousOrderProposal#753096L, isFallbackOrderOnly#753093, prodLocSpecificKpis#753779, coalesce(channelStreamSpecificKpis#753780, []) AS channelStreamSpecificKpis#753794]
Input [43]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753076L, originalReplenishmentRunId#753118L, supplierGroup#753078, supplier#753079, supplyingPlant#753083, productGroup#753084, product#753085, plant#753080, subrange#753082, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, constraintValues#753109, constraintOperators#753108, constraintLabels#753107, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, splitIndicator#753095L, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, sourceOfSupplyUuid#753090, minimumOrderQuantity#753106, orderProposalItemId#753077, orderProposalItemGroupId#753100, optimizationGroups#753119, measurements#753117, externalProductId#753101, externalPlantId#753102, previousOrderProposal#753096L, isFallbackOrderOnly#753093, prodLocSpecificKpis#753779, shardId#753788, worklistShardItemId#753789L, channelStreamSpecificKpis#753780]
(48) Scan ExistingRDD [codegen id : 13]
Output [6]: [shardId#753801, worklistShardItemId#753802L, qty#753803, demandChannel#753804, demandStream#753805, kpis#753806]
Arguments: [shardId#753801, worklistShardItemId#753802L, qty#753803, demandChannel#753804, demandStream#753805, kpis#753806], MapPartitionsRDD[35514] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(49) Filter [codegen id : 13]
Input [6]: [shardId#753801, worklistShardItemId#753802L, qty#753803, demandChannel#753804, demandStream#753805, kpis#753806]
Condition : ((isnotnull(qty#753803) AND isnotnull(kpis#753806)) AND (isnotnull(shardId#753801) AND isnotnull(worklistShardItemId#753802L)))
(50) Project [codegen id : 13]
Output [4]: [shardId#753801, worklistShardItemId#753802L, qty#753803, kpis#753806]
Input [6]: [shardId#753801, worklistShardItemId#753802L, qty#753803, demandChannel#753804, demandStream#753805, kpis#753806]
(51) ObjectHashAggregate
Input [4]: [shardId#753801, worklistShardItemId#753802L, qty#753803, kpis#753806]
Keys [2]: [shardId#753801, worklistShardItemId#753802L]
Functions [1]: [partial_collect_list(struct(qty, qty#753803, kpis, kpis#753806), 0, 0)]
Aggregate Attributes [1]: [buf#753970]
Results [3]: [shardId#753801, worklistShardItemId#753802L, buf#753971]
(52) Exchange
Input [3]: [shardId#753801, worklistShardItemId#753802L, buf#753971]
Arguments: hashpartitioning(shardId#753801, worklistShardItemId#753802L, 20), ENSURE_REQUIREMENTS, [plan_id=301694]
(53) ObjectHashAggregate
Input [3]: [shardId#753801, worklistShardItemId#753802L, buf#753971]
Keys [2]: [shardId#753801, worklistShardItemId#753802L]
Functions [1]: [collect_list(struct(qty, qty#753803, kpis, kpis#753806), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#753803, kpis, kpis#753806), 0, 0)#753800]
Results [3]: [shardId#753801, worklistShardItemId#753802L, map_from_entries(collect_list(struct(qty, qty#753803, kpis, kpis#753806), 0, 0)#753800) AS quantityKpis#753795]
(54) Sort [codegen id : 14]
Input [3]: [shardId#753801, worklistShardItemId#753802L, quantityKpis#753795]
Arguments: [shardId#753801 ASC NULLS FIRST, worklistShardItemId#753802L ASC NULLS FIRST], false, 0
(55) SortMergeJoin [codegen id : 15]
Left keys [2]: [shardId#752363, worklistShardItemId#752875L]
Right keys [2]: [shardId#753801, worklistShardItemId#753802L]
Join type: LeftOuter
Join condition: None
(56) Project [codegen id : 15]
Output [42]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753076L, originalReplenishmentRunId#753118L, supplierGroup#753078, supplier#753079, supplyingPlant#753083, productGroup#753084, product#753085, plant#753080, subrange#753082, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, constraintValues#753109, constraintOperators#753108, constraintLabels#753107, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, splitIndicator#753095L, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, sourceOfSupplyUuid#753090, minimumOrderQuantity#753106, orderProposalItemId#753077, orderProposalItemGroupId#753100, optimizationGroups#753119, measurements#753117, externalProductId#753101, externalPlantId#753102, previousOrderProposal#753096L, isFallbackOrderOnly#753093, prodLocSpecificKpis#753779, channelStreamSpecificKpis#753794, coalesce(quantityKpis#753795, map(keys: [], values: [])) AS quantityKpis#753807]
Input [44]: [shardId#752363, worklistShardItemId#752875L, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753076L, originalReplenishmentRunId#753118L, supplierGroup#753078, supplier#753079, supplyingPlant#753083, productGroup#753084, product#753085, plant#753080, subrange#753082, orderDateTime#753086, deliveryDateTime#753081, availabilityDateTime#753087, nextAvailabilityDateTime#753088, constraintValues#753109, constraintOperators#753108, constraintLabels#753107, logisticUnits#753103, orderQuantityBaseUom#753104, orderQuantityBaseUomUuid#753105, splitIndicator#753095L, netPriceAmount#753112, netPriceCurrencyCode#753113, netPriceQuantity#753114, netPriceQuantityUom#753115, netPriceQuantityUomUuid#753116, sourceOfSupplyUuid#753090, minimumOrderQuantity#753106, orderProposalItemId#753077, orderProposalItemGroupId#753100, optimizationGroups#753119, measurements#753117, externalProductId#753101, externalPlantId#753102, previousOrderProposal#753096L, isFallbackOrderOnly#753093, prodLocSpecificKpis#753779, channelStreamSpecificKpis#753794, shardId#753801, worklistShardItemId#753802L, quantityKpis#753795]
(57) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#753053, channelStreamSpecificKpis#753794, constraintLabels#753065, constraintOperators#753066, constraintValues#753068, deliveryDateTime#753052, isFallbackOrderOnly#753055, logisticUnits#753070, measurements#753063, minimumOrderQuantity#753064, netPriceAmount#753061, netPriceCurrencyCode#753062, netPriceQuantity#753058, netPriceQuantityUom#753059, netPriceQuantityUomUuid#753060, nextAvailabilityDateTime#753054, optimizationGroups#753071, orderDateTime#753051, orderProposalId#753033L, orderProposalItemGroupId#753035, orderProposalItemId#753034, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid#753057, originalReplenishmentRunId#753036L, plant#753047, previousOrderProposal#753039L, prodLocSpecificKpis#753779, product#753046, productGroup#753075, qty#752877, quantityAfterProdPlantOptimization#752876, quantityKpis#753807, shardId#752363, sourceOfSupplyUuid#753042, splitIndicator#753038L, subrange#753045, supplier#753044, supplierGroup#753043, supplyingPlant#753074]
Condition : NOT (isFallbackOrderOnly#753055 <=> true)
(58) Project [codegen id : 1]
Output [36]: [shardId#752363, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753033L, originalReplenishmentRunId#753036L, supplierGroup#753043, supplier#753044, supplyingPlant#753074, productGroup#753075, product#753046, plant#753047, subrange#753045, orderDateTime#753051, deliveryDateTime#753052, availabilityDateTime#753053, nextAvailabilityDateTime#753054, logisticUnits#753070, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid#753057, splitIndicator#753038L, netPriceAmount#753061, netPriceCurrencyCode#753062, netPriceQuantity#753058, netPriceQuantityUom#753059, netPriceQuantityUomUuid#753060, sourceOfSupplyUuid#753042, minimumOrderQuantity#753064, orderProposalItemId#753034, orderProposalItemGroupId#753035, optimizationGroups#753071, measurements#753063, previousOrderProposal#753039L, prodLocSpecificKpis#753779, channelStreamSpecificKpis#753794, quantityKpis#753807, arrays_zip(constraintLabels#753065, constraintOperators#753066, constraintValues#753068, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#754221]
Input [39]: [availabilityDateTime#753053, channelStreamSpecificKpis#753794, constraintLabels#753065, constraintOperators#753066, constraintValues#753068, deliveryDateTime#753052, isFallbackOrderOnly#753055, logisticUnits#753070, measurements#753063, minimumOrderQuantity#753064, netPriceAmount#753061, netPriceCurrencyCode#753062, netPriceQuantity#753058, netPriceQuantityUom#753059, netPriceQuantityUomUuid#753060, nextAvailabilityDateTime#753054, optimizationGroups#753071, orderDateTime#753051, orderProposalId#753033L, orderProposalItemGroupId#753035, orderProposalItemId#753034, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid#753057, originalReplenishmentRunId#753036L, plant#753047, previousOrderProposal#753039L, prodLocSpecificKpis#753779, product#753046, productGroup#753075, qty#752877, quantityAfterProdPlantOptimization#752876, quantityKpis#753807, shardId#752363, sourceOfSupplyUuid#753042, splitIndicator#753038L, subrange#753045, supplier#753044, supplierGroup#753043, supplyingPlant#753074]
(59) Project
Output [37]: [shardId#752363, qty#752877, orderProposalId#753033L, originalReplenishmentRunId#753036L, supplierGroup#753043, supplier#753044, supplyingPlant#753074, productGroup#753075, product#753046, plant#753047, subrange#753045, orderDateTime#753051, deliveryDateTime#753052, availabilityDateTime#753053, nextAvailabilityDateTime#753054, logisticUnits#753070, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid#753057, splitIndicator#753038L, netPriceAmount#753061, netPriceCurrencyCode#753062, netPriceQuantity#753058, netPriceQuantityUom#753059, netPriceQuantityUomUuid#753060, sourceOfSupplyUuid#753042, orderProposalItemId#753034, orderProposalItemGroupId#753035, optimizationGroups#753071, measurements#753063, previousOrderProposal#753039L, prodLocSpecificKpis#753779, channelStreamSpecificKpis#753794, quantityKpis#753807, struct(minServiceLevel, array_min(filter(constraintStructArray#754221, lambdafunction((lambda x_1948#754228.constraintLabels = ServiceLevel), lambda x_1948#754228, false)).constraintValues), minServiceLevelMinStock, null, maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#754221, lambdafunction((lambda x_1949#754229.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_1949#754229, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#754221, lambdafunction((lambda x_1950#754230.constraintLabels = RangeOfCoverage), lambda x_1950#754230, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#753064, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#753779, lambdafunction((lambda x_1951#754231.label = NonListingStartTimestamp), lambda x_1951#754231, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#754227, CASE WHEN (qty#752877 <=> quantityAfterProdPlantOptimization#752876) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#752877 * (cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1952#754299.isOrderUnit, lambda x_1952#754299, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1952#754300.isOrderUnit, lambda x_1952#754300, false)), 1, None, false).numerator as double))), qty#752877), orderQuantityUom, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1952#754301.isOrderUnit, lambda x_1952#754301, false)), 1, None, false).uom, orderQuantityBaseUom#753056), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1952#754302.isOrderUnit, lambda x_1952#754302, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#753057), candidateOrderQuantityInBaseUnit, qty#752877, orderQuantityBaseUom, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#753057, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#753070, lambdafunction((lambda x_1954#754303.isPreferred AND (((qty#752877 * cast(lambda x_1954#754303.denominator as double)) % cast(lambda x_1954#754303.numerator as double)) = 0.0)), lambda x_1954#754303, false)), lambdafunction(struct(inPreferredQuantity, ((qty#752877 * cast(lambda x_1955#754341.denominator as double)) / cast(lambda x_1955#754341.numerator as double)), uom, lambda x_1955#754341.uom, uomUuid, lambda x_1955#754341.uomUuid), lambda x_1955#754341, false))).inPreferredQuantity, coalesce((qty#752877 * (cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1953#754304.isOrderUnit, lambda x_1953#754304, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1953#754305.isOrderUnit, lambda x_1953#754305, false)), 1, None, false).numerator as double))), qty#752877)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#753070, lambdafunction((lambda x_1954#754306.isPreferred AND (((qty#752877 * cast(lambda x_1954#754306.denominator as double)) % cast(lambda x_1954#754306.numerator as double)) = 0.0)), lambda x_1954#754306, false)), lambdafunction(struct(inPreferredQuantity, ((qty#752877 * cast(lambda x_1955#754342.denominator as double)) / cast(lambda x_1955#754342.numerator as double)), uom, lambda x_1955#754342.uom, uomUuid, lambda x_1955#754342.uomUuid), lambda x_1955#754342, false))).uom, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1953#754307.isOrderUnit, lambda x_1953#754307, false)), 1, None, false).uom, orderQuantityBaseUom#753056)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#753070, lambdafunction((lambda x_1954#754308.isPreferred AND (((qty#752877 * cast(lambda x_1954#754308.denominator as double)) % cast(lambda x_1954#754308.numerator as double)) = 0.0)), lambda x_1954#754308, false)), lambdafunction(struct(inPreferredQuantity, ((qty#752877 * cast(lambda x_1955#754343.denominator as double)) / cast(lambda x_1955#754343.numerator as double)), uom, lambda x_1955#754343.uom, uomUuid, lambda x_1955#754343.uomUuid), lambda x_1955#754343, false))).uomUuid, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1953#754309.isOrderUnit, lambda x_1953#754309, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#753057)), serviceLevel, coalesce(filter(element_at(quantityKpis#753807, qty#752877, None, false), lambdafunction((lambda x_1960#754310.label = ServiceLevel), lambda x_1960#754310, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#752877 * (cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1952#754313.isOrderUnit, lambda x_1952#754313, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1952#754314.isOrderUnit, lambda x_1952#754314, false)), 1, None, false).numerator as double))), qty#752877), orderQuantityUom, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1952#754315.isOrderUnit, lambda x_1952#754315, false)), 1, None, false).uom, orderQuantityBaseUom#753056), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1952#754316.isOrderUnit, lambda x_1952#754316, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#753057), candidateOrderQuantityInBaseUnit, qty#752877, orderQuantityBaseUom, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#753057, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#753070, lambdafunction((lambda x_1954#754317.isPreferred AND (((qty#752877 * cast(lambda x_1954#754317.denominator as double)) % cast(lambda x_1954#754317.numerator as double)) = 0.0)), lambda x_1954#754317, false)), lambdafunction(struct(inPreferredQuantity, ((qty#752877 * cast(lambda x_1955#754344.denominator as double)) / cast(lambda x_1955#754344.numerator as double)), uom, lambda x_1955#754344.uom, uomUuid, lambda x_1955#754344.uomUuid), lambda x_1955#754344, false))).inPreferredQuantity, coalesce((qty#752877 * (cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1953#754318.isOrderUnit, lambda x_1953#754318, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1953#754319.isOrderUnit, lambda x_1953#754319, false)), 1, None, false).numerator as double))), qty#752877)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#753070, lambdafunction((lambda x_1954#754320.isPreferred AND (((qty#752877 * cast(lambda x_1954#754320.denominator as double)) % cast(lambda x_1954#754320.numerator as double)) = 0.0)), lambda x_1954#754320, false)), lambdafunction(struct(inPreferredQuantity, ((qty#752877 * cast(lambda x_1955#754345.denominator as double)) / cast(lambda x_1955#754345.numerator as double)), uom, lambda x_1955#754345.uom, uomUuid, lambda x_1955#754345.uomUuid), lambda x_1955#754345, false))).uom, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1953#754321.isOrderUnit, lambda x_1953#754321, false)), 1, None, false).uom, orderQuantityBaseUom#753056)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#753070, lambdafunction((lambda x_1954#754322.isPreferred AND (((qty#752877 * cast(lambda x_1954#754322.denominator as double)) % cast(lambda x_1954#754322.numerator as double)) = 0.0)), lambda x_1954#754322, false)), lambdafunction(struct(inPreferredQuantity, ((qty#752877 * cast(lambda x_1955#754346.denominator as double)) / cast(lambda x_1955#754346.numerator as double)), uom, lambda x_1955#754346.uom, uomUuid, lambda x_1955#754346.uomUuid), lambda x_1955#754346, false))).uomUuid, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1953#754323.isOrderUnit, lambda x_1953#754323, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#753057)), serviceLevel, coalesce(filter(element_at(quantityKpis#753807, qty#752877, None, false), lambdafunction((lambda x_1963#754324.label = ServiceLevel), lambda x_1963#754324, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#752876 * (cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1956#754327.isOrderUnit, lambda x_1956#754327, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1956#754328.isOrderUnit, lambda x_1956#754328, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#752876), orderQuantityUom, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1956#754329.isOrderUnit, lambda x_1956#754329, false)), 1, None, false).uom, orderQuantityBaseUom#753056), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1956#754330.isOrderUnit, lambda x_1956#754330, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#753057), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#752876, orderQuantityBaseUom, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#753057, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#753070, lambdafunction((lambda x_1958#754331.isPreferred AND (((quantityAfterProdPlantOptimization#752876 * cast(lambda x_1958#754331.denominator as double)) % cast(lambda x_1958#754331.numerator as double)) = 0.0)), lambda x_1958#754331, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#752876 * cast(lambda x_1959#754347.denominator as double)) / cast(lambda x_1959#754347.numerator as double)), uom, lambda x_1959#754347.uom, uomUuid, lambda x_1959#754347.uomUuid), lambda x_1959#754347, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#752876 * (cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1957#754332.isOrderUnit, lambda x_1957#754332, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1957#754333.isOrderUnit, lambda x_1957#754333, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#752876)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#753070, lambdafunction((lambda x_1958#754334.isPreferred AND (((quantityAfterProdPlantOptimization#752876 * cast(lambda x_1958#754334.denominator as double)) % cast(lambda x_1958#754334.numerator as double)) = 0.0)), lambda x_1958#754334, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#752876 * cast(lambda x_1959#754348.denominator as double)) / cast(lambda x_1959#754348.numerator as double)), uom, lambda x_1959#754348.uom, uomUuid, lambda x_1959#754348.uomUuid), lambda x_1959#754348, false))).uom, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1957#754335.isOrderUnit, lambda x_1957#754335, false)), 1, None, false).uom, orderQuantityBaseUom#753056)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#753070, lambdafunction((lambda x_1958#754336.isPreferred AND (((quantityAfterProdPlantOptimization#752876 * cast(lambda x_1958#754336.denominator as double)) % cast(lambda x_1958#754336.numerator as double)) = 0.0)), lambda x_1958#754336, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#752876 * cast(lambda x_1959#754349.denominator as double)) / cast(lambda x_1959#754349.numerator as double)), uom, lambda x_1959#754349.uom, uomUuid, lambda x_1959#754349.uomUuid), lambda x_1959#754349, false))).uomUuid, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1957#754337.isOrderUnit, lambda x_1957#754337, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#753057)), serviceLevel, coalesce(filter(element_at(quantityKpis#753807, quantityAfterProdPlantOptimization#752876, None, false), lambdafunction((lambda x_1966#754338.label = ServiceLevel), lambda x_1966#754338, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#754298, coalesce(filter(prodLocSpecificKpis#753779, lambdafunction((lambda x_1969#754351.label = InitialStockQty), lambda x_1969#754351, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#754350, coalesce(filter(prodLocSpecificKpis#753779, lambdafunction((lambda x_1970#754353.label = DemandPeriodEndTimestamp), lambda x_1970#754353, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#754352]
Input [36]: [shardId#752363, quantityAfterProdPlantOptimization#752876, qty#752877, orderProposalId#753033L, originalReplenishmentRunId#753036L, supplierGroup#753043, supplier#753044, supplyingPlant#753074, productGroup#753075, product#753046, plant#753047, subrange#753045, orderDateTime#753051, deliveryDateTime#753052, availabilityDateTime#753053, nextAvailabilityDateTime#753054, logisticUnits#753070, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid#753057, splitIndicator#753038L, netPriceAmount#753061, netPriceCurrencyCode#753062, netPriceQuantity#753058, netPriceQuantityUom#753059, netPriceQuantityUomUuid#753060, sourceOfSupplyUuid#753042, minimumOrderQuantity#753064, orderProposalItemId#753034, orderProposalItemGroupId#753035, optimizationGroups#753071, measurements#753063, previousOrderProposal#753039L, prodLocSpecificKpis#753779, channelStreamSpecificKpis#753794, quantityKpis#753807, constraintStructArray#754221]
(60) Project
Output [21]: [shardId#752363, qty#752877, orderProposalId#753033L, originalReplenishmentRunId#753036L, supplierGroup#753043, supplier#753044, supplyingPlant#753074, productGroup#753075, product#753046, plant#753047, subrange#753045, orderDateTime#753051, deliveryDateTime#753052, logisticUnits#753070, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid#753057, splitIndicator#753038L, orderProposalItemId#753034, orderProposalItemGroupId#753035, previousOrderProposal#753039L, struct(itemId, 123456, itemGroupId, 123456, supplier, supplier#753044, supplyingPlant, supplyingPlant#753074, productGroup, productGroup#753075, product, product#753046, plant, plant#753047, supplierSubRange, subrange#753045, sourceOfSupplyUuid, sourceOfSupplyUuid#753042, deliveryDateTime, deliveryDateTime#753052, unitPrice, netPriceAmount#753061, unitPriceCurrency, netPriceCurrencyCode#753062, unitPriceQuantity, ... 37 more fields) AS parentItem#754432]
Input [37]: [shardId#752363, qty#752877, orderProposalId#753033L, originalReplenishmentRunId#753036L, supplierGroup#753043, supplier#753044, supplyingPlant#753074, productGroup#753075, product#753046, plant#753047, subrange#753045, orderDateTime#753051, deliveryDateTime#753052, availabilityDateTime#753053, nextAvailabilityDateTime#753054, logisticUnits#753070, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid#753057, splitIndicator#753038L, netPriceAmount#753061, netPriceCurrencyCode#753062, netPriceQuantity#753058, netPriceQuantityUom#753059, netPriceQuantityUomUuid#753060, sourceOfSupplyUuid#753042, orderProposalItemId#753034, orderProposalItemGroupId#753035, optimizationGroups#753071, measurements#753063, previousOrderProposal#753039L, prodLocSpecificKpis#753779, channelStreamSpecificKpis#753794, quantityKpis#753807, constraintBenchmark#754227, calculationAnalysis#754298, inventoryDateTime#754350, demandPeriodEndDateTime#754352]
(61) Project
Output [12]: [shardId#752363, orderProposalId#753033L, originalReplenishmentRunId#753036L, supplierGroup#753043, supplier#753044, supplyingPlant#753074, orderDateTime#753051, splitIndicator#753038L, orderProposalItemGroupId#753035, previousOrderProposal#753039L, parentItem#754432, struct(itemId, orderProposalItemId#753034, supplier, supplier#753044, supplyingPlant, supplyingPlant#753074, productGroup, productGroup#753075, product, product#753046, plant, plant#753047, supplierSubRange, subrange#753045, deliveryDateTime, deliveryDateTime#753052, orderQuantity, coalesce((qty#752877 * (cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1994#754466.isOrderUnit, lambda x_1994#754466, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1994#754467.isOrderUnit, lambda x_1994#754467, false)), 1, None, false).numerator as double))), qty#752877), orderQuantityUom, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1994#754468.isOrderUnit, lambda x_1994#754468, false)), 1, None, false).uom, orderQuantityBaseUom#753056), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#753070, lambdafunction(lambda x_1994#754469.isOrderUnit, lambda x_1994#754469, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#753057), orderQuantityInBaseUnit, qty#752877, orderQuantityBaseUom, ... 13 more fields) AS item#754463]
Input [21]: [shardId#752363, qty#752877, orderProposalId#753033L, originalReplenishmentRunId#753036L, supplierGroup#753043, supplier#753044, supplyingPlant#753074, productGroup#753075, product#753046, plant#753047, subrange#753045, orderDateTime#753051, deliveryDateTime#753052, logisticUnits#753070, orderQuantityBaseUom#753056, orderQuantityBaseUomUuid#753057, splitIndicator#753038L, orderProposalItemId#753034, orderProposalItemGroupId#753035, previousOrderProposal#753039L, parentItem#754432]
(62) ObjectHashAggregate
Input [12]: [shardId#752363, orderProposalId#753033L, originalReplenishmentRunId#753036L, supplierGroup#753043, supplier#753044, supplyingPlant#753074, orderDateTime#753051, splitIndicator#753038L, orderProposalItemGroupId#753035, previousOrderProposal#753039L, parentItem#754432, item#754463]
Keys [4]: [shardId#752363, orderProposalId#753033L, splitIndicator#753038L, orderProposalItemGroupId#753035]
Functions [8]: [partial_max(originalReplenishmentRunId#753036L), partial_max(supplierGroup#753043), partial_max(supplier#753044), partial_max(supplyingPlant#753074), partial_max(orderDateTime#753051), partial_collect_list(parentItem#754432, 0, 0), partial_collect_set(previousOrderProposal#753039L, 0, 0), partial_collect_list(item#754463, 0, 0)]
Aggregate Attributes [8]: [max#755724L, max#755725, max#755726, max#755727, max#755728, buf#755729, buf#755730, buf#755731]
Results [12]: [shardId#752363, orderProposalId#753033L, splitIndicator#753038L, orderProposalItemGroupId#753035, max#755732L, max#755733, max#755734, max#755735, max#755736, buf#755737, buf#755738, buf#755739]
(63) Exchange
Input [12]: [shardId#752363, orderProposalId#753033L, splitIndicator#753038L, orderProposalItemGroupId#753035, max#755732L, max#755733, max#755734, max#755735, max#755736, buf#755737, buf#755738, buf#755739]
Arguments: hashpartitioning(shardId#752363, orderProposalId#753033L, splitIndicator#753038L, orderProposalItemGroupId#753035, 20), ENSURE_REQUIREMENTS, [plan_id=301946]
(64) ObjectHashAggregate
Input [12]: [shardId#752363, orderProposalId#753033L, splitIndicator#753038L, orderProposalItemGroupId#753035, max#755732L, max#755733, max#755734, max#755735, max#755736, buf#755737, buf#755738, buf#755739]
Keys [4]: [shardId#752363, orderProposalId#753033L, splitIndicator#753038L, orderProposalItemGroupId#753035]
Functions [8]: [max(originalReplenishmentRunId#753036L), max(supplierGroup#753043), max(supplier#753044), max(supplyingPlant#753074), max(orderDateTime#753051), collect_list(parentItem#754432, 0, 0), collect_set(previousOrderProposal#753039L, 0, 0), collect_list(item#754463, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#753036L)#754532L, max(supplierGroup#753043)#754533, max(supplier#753044)#754534, max(supplyingPlant#753074)#754535, max(orderDateTime#753051)#754536, collect_list(parentItem#754432, 0, 0)#754537, collect_set(previousOrderProposal#753039L, 0, 0)#754539, collect_list(item#754463, 0, 0)#754538]
Results [10]: [shardId#752363, orderProposalId#753033L, max(originalReplenishmentRunId#753036L)#754532L AS originalReplenishmentRunId#754480L, max(supplierGroup#753043)#754533 AS supplierGroup#754481, max(supplier#753044)#754534 AS supplier#754482, max(supplyingPlant#753074)#754535 AS supplyingPlant#754483, max(orderDateTime#753051)#754536 AS orderDateTime#754484, collect_list(parentItem#754432, 0, 0)#754537 AS parentItems#754485, collect_set(previousOrderProposal#753039L, 0, 0)#754539 AS previousOrderProposals#754487, struct(itemGroupId, coalesce(orderProposalItemGroupId#753035, cast((monotonically_increasing_id() % 9999999999) as string)), items, collect_list(item#754463, 0, 0)#754538) AS itemGroup#754541]
(65) ObjectHashAggregate
Input [10]: [shardId#752363, orderProposalId#753033L, originalReplenishmentRunId#754480L, supplierGroup#754481, supplier#754482, supplyingPlant#754483, orderDateTime#754484, parentItems#754485, previousOrderProposals#754487, itemGroup#754541]
Keys [2]: [shardId#752363, orderProposalId#753033L]
Functions [8]: [partial_max(originalReplenishmentRunId#754480L), partial_max(supplierGroup#754481), partial_max(supplier#754482), partial_max(supplyingPlant#754483), partial_max(orderDateTime#754484), partial_collect_list(itemGroup#754541, 0, 0), partial_collect_list(parentItems#754485, 0, 0), partial_collect_set(previousOrderProposals#754487, 0, 0)]
Aggregate Attributes [8]: [max#755708L, max#755709, max#755710, max#755711, max#755712, buf#755713, buf#755714, buf#755715]
Results [10]: [shardId#752363, orderProposalId#753033L, max#755716L, max#755717, max#755718, max#755719, max#755720, buf#755721, buf#755722, buf#755723]
(66) Exchange
Input [10]: [shardId#752363, orderProposalId#753033L, max#755716L, max#755717, max#755718, max#755719, max#755720, buf#755721, buf#755722, buf#755723]
Arguments: hashpartitioning(shardId#752363, orderProposalId#753033L, 20), ENSURE_REQUIREMENTS, [plan_id=301949]
(67) ObjectHashAggregate
Input [10]: [shardId#752363, orderProposalId#753033L, max#755716L, max#755717, max#755718, max#755719, max#755720, buf#755721, buf#755722, buf#755723]
Keys [2]: [shardId#752363, orderProposalId#753033L]
Functions [8]: [max(originalReplenishmentRunId#754480L), max(supplierGroup#754481), max(supplier#754482), max(supplyingPlant#754483), max(orderDateTime#754484), collect_list(itemGroup#754541, 0, 0), collect_list(parentItems#754485, 0, 0), collect_set(previousOrderProposals#754487, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#754480L)#754563L, max(supplierGroup#754481)#754564, max(supplier#754482)#754565, max(supplyingPlant#754483)#754566, max(orderDateTime#754484)#754567, collect_list(itemGroup#754541, 0, 0)#754568, collect_list(parentItems#754485, 0, 0)#754569, collect_set(previousOrderProposals#754487, 0, 0)#754570]
Results [10]: [shardId#752363, orderProposalId#753033L, max(originalReplenishmentRunId#754480L)#754563L AS originalReplenishmentRunId#754542L, max(supplierGroup#754481)#754564 AS supplierGroup#754543, max(supplier#754482)#754565 AS supplier#754544, max(supplyingPlant#754483)#754566 AS supplyingPlant#754545, max(orderDateTime#754484)#754567 AS orderDateTime#754546, collect_list(itemGroup#754541, 0, 0)#754568 AS itemGroups#754547, flatten(collect_list(parentItems#754485, 0, 0)#754569) AS parentItems#754548, flatten(collect_set(previousOrderProposals#754487, 0, 0)#754570) AS previousOrderProposals#754549]
(68) Project
Output [2]: [shardId#752363, struct(orderProposalId, orderProposalId#753033L, originalReplenishmentRunId, originalReplenishmentRunId#754542L, supplierGroup, supplierGroup#754543, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#754543) THEN supplier#754544 END, supplyingPlant, supplyingPlant#754545, orderDateTime, orderDateTime#754546, itemGroups, itemGroups#754547, previousOrderProposals, array_distinct(previousOrderProposals#754549), parentItems, parentItems#754548) AS orderProposal#754574]
Input [10]: [shardId#752363, orderProposalId#753033L, originalReplenishmentRunId#754542L, supplierGroup#754543, supplier#754544, supplyingPlant#754545, orderDateTime#754546, itemGroups#754547, parentItems#754548, previousOrderProposals#754549]
(69) Project
Output [11]: [shardId#752363, orderProposal#754574.orderProposalId AS _extract_orderProposalId#755340L, orderProposal#754574.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#755341L, orderProposal#754574.supplierGroup AS _extract_supplierGroup#755342, orderProposal#754574.supplier AS _extract_supplier#755343, orderProposal#754574.supplyingPlant AS _extract_supplyingPlant#755344, orderProposal#754574.orderDateTime AS _extract_orderDateTime#755345, orderProposal#754574.itemGroups AS _extract_itemGroups#755346, orderProposal#754574.previousOrderProposals AS _extract_previousOrderProposals#755347, orderProposal#754574.parentItems AS _extract_parentItems#755348, orderProposal#754574.orderProposalId AS _extract_orderProposalId#755349L]
Input [2]: [shardId#752363, orderProposal#754574]
(70) Exchange
Input [11]: [shardId#752363, _extract_orderProposalId#755340L, _extract_originalReplenishmentRunId#755341L, _extract_supplierGroup#755342, _extract_supplier#755343, _extract_supplyingPlant#755344, _extract_orderDateTime#755345, _extract_itemGroups#755346, _extract_previousOrderProposals#755347, _extract_parentItems#755348, _extract_orderProposalId#755349L]
Arguments: hashpartitioning(coalesce(shardId#752363, ), isnull(shardId#752363), coalesce(_extract_orderProposalId#755349L, 0), isnull(_extract_orderProposalId#755349L), 20), ENSURE_REQUIREMENTS, [plan_id=301953]
(71) Sort
Input [11]: [shardId#752363, _extract_orderProposalId#755340L, _extract_originalReplenishmentRunId#755341L, _extract_supplierGroup#755342, _extract_supplier#755343, _extract_supplyingPlant#755344, _extract_orderDateTime#755345, _extract_itemGroups#755346, _extract_previousOrderProposals#755347, _extract_parentItems#755348, _extract_orderProposalId#755349L]
Arguments: [coalesce(shardId#752363, ) ASC NULLS FIRST, isnull(shardId#752363) ASC NULLS FIRST, coalesce(_extract_orderProposalId#755349L, 0) ASC NULLS FIRST, isnull(_extract_orderProposalId#755349L) ASC NULLS FIRST], false, 0
(72) InMemoryTableScan
Output [3]: [shardId#754597, orderProposalId#754598L, optimizationGroups#754600]
Arguments: [shardId#754597, orderProposalId#754598L, optimizationGroups#754600], [isnotnull(orderProposalId#754598L)]
(73) InMemoryRelation
Arguments: [shardId#754597, orderProposalId#754598L, items#754599, optimizationGroups#754600, isOptimal#754601, optimizationInsights#754603], StorageLevel(disk, memory, 2 replicas)
(74) Filter [codegen id : 2]
Input [3]: [shardId#754597, orderProposalId#754598L, optimizationGroups#754600]
Condition : isnotnull(orderProposalId#754598L)
(75) BroadcastExchange
Input [3]: [shardId#754597, orderProposalId#754598L, optimizationGroups#754600]
Arguments: HashedRelationBroadcastMode(List(input[1, bigint, false]),false), [plan_id=301958]
(76) InMemoryTableScan
Output [2]: [items#754216, shardId#754214]
Arguments: [items#754216, shardId#754214], [(size(items#754216.worklistShardItemId, true) > 0), isnotnull(items#754216.worklistShardItemId), (shardId#754214 = 0_1_10000002108)]
(77) InMemoryRelation
Arguments: [shardId#754214, orderProposalId#754215L, items#754216, optimizationGroups#754217, isOptimal#754218, optimizationInsights#754220], StorageLevel(disk, memory, 2 replicas)
(78) Filter [codegen id : 3]
Input [2]: [items#754216, shardId#754214]
Condition : (((size(items#754216.worklistShardItemId, true) > 0) AND isnotnull(items#754216.worklistShardItemId)) AND (shardId#754214 = 0_1_10000002108))
(79) Project [codegen id : 3]
Output [1]: [items#754216.worklistShardItemId AS _extract_worklistShardItemId#755245]
Input [2]: [items#754216, shardId#754214]
(80) Generate [codegen id : 3]
Input [1]: [_extract_worklistShardItemId#755245]
Arguments: explode(_extract_worklistShardItemId#755245), false, [item#754604L]
(81) Project [codegen id : 3]
Output [1]: [item#754604L AS worklistShardItemId#754605L]
Input [1]: [item#754604L]
(82) BroadcastExchange
Input [1]: [worklistShardItemId#754605L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=301966]
(83) Scan parquet
Output [5]: [orderProposalId#754653L, isFallbackOrderOnly#754670, worklistShardItemId#754676L, shardId#754697, sequenceId#754675]
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/10000002108]
PartitionFilters: [isnotnull(shardId#754697), isnotnull(sequenceId#754675), (shardId#754697 = 0_1_10000002108), (sequenceId#754675 = 0)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(84) ColumnarToRow [codegen id : 4]
Input [5]: [orderProposalId#754653L, isFallbackOrderOnly#754670, worklistShardItemId#754676L, shardId#754697, sequenceId#754675]
(85) Filter [codegen id : 4]
Input [5]: [orderProposalId#754653L, isFallbackOrderOnly#754670, worklistShardItemId#754676L, shardId#754697, sequenceId#754675]
Condition : ((isnotnull(worklistShardItemId#754676L) AND NOT (isFallbackOrderOnly#754670 <=> true)) AND isnotnull(orderProposalId#754653L))
(86) Project [codegen id : 4]
Output [2]: [orderProposalId#754653L, worklistShardItemId#754676L]
Input [5]: [orderProposalId#754653L, isFallbackOrderOnly#754670, worklistShardItemId#754676L, shardId#754697, sequenceId#754675]
(87) Exchange
Input [2]: [orderProposalId#754653L, worklistShardItemId#754676L]
Arguments: hashpartitioning(worklistShardItemId#754676L, 20), REPARTITION_BY_NUM, [plan_id=301973]
(88) Project
Output [2]: [worklistShardItemId#754676L, orderProposalId#754653L]
Input [2]: [orderProposalId#754653L, worklistShardItemId#754676L]
(89) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#754605L]
Right keys [1]: [worklistShardItemId#754676L]
Join type: Inner
Join condition: None
(90) Project [codegen id : 5]
Output [1]: [orderProposalId#754653L]
Input [3]: [worklistShardItemId#754605L, worklistShardItemId#754676L, orderProposalId#754653L]
(91) HashAggregate [codegen id : 5]
Input [1]: [orderProposalId#754653L]
Keys [1]: [orderProposalId#754653L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#754653L]
(92) Exchange
Input [1]: [orderProposalId#754653L]
Arguments: hashpartitioning(orderProposalId#754653L, 20), ENSURE_REQUIREMENTS, [plan_id=301980]
(93) HashAggregate
Input [1]: [orderProposalId#754653L]
Keys [1]: [orderProposalId#754653L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#754653L]
(94) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [orderProposalId#754598L]
Right keys [1]: [orderProposalId#754653L]
Join type: Inner
Join condition: None
(95) Project
Output [3]: [orderProposalId#754598L, shardId#754597, coalesce(transform(optimizationGroups#754600, lambdafunction(struct(optGroupId, lambda x_1998#754595.optGroupId, minOrderProfile, lambda x_1998#754595.minOrderProfile, assignmentDetails, lambda x_1998#754595.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_1998#754595.minOrderGoal.dimensionType, unit, lambda x_1998#754595.minOrderGoal.unit, unitUuid, lambda x_1998#754595.minOrderGoal.unitUuid, goalValue, lambda x_1998#754595.minOrderGoal.minOrderValue, calcValue, lambda x_1998#754595.minOrderGoal.calculatedOrderValue), transportLoadProfile, DummyTloProfile01, transportLoadGoal, [3,5000.0,false,PAL,a7f3c91d204eb8f56d12a09e3b785c4f,TON,b4e8d1f0c73a92e61d05b8f4a291c07e,40.0]), lambda x_1998#754595, false)), []) AS optimizationGroups#754594]
Input [4]: [shardId#754597, orderProposalId#754598L, optimizationGroups#754600, orderProposalId#754653L]
(96) Exchange
Input [3]: [orderProposalId#754598L, shardId#754597, optimizationGroups#754594]
Arguments: hashpartitioning(coalesce(shardId#754597, ), isnull(shardId#754597), coalesce(orderProposalId#754598L, 0), isnull(orderProposalId#754598L), 20), ENSURE_REQUIREMENTS, [plan_id=301986]
(97) Sort [codegen id : 7]
Input [3]: [orderProposalId#754598L, shardId#754597, optimizationGroups#754594]
Arguments: [coalesce(shardId#754597, ) ASC NULLS FIRST, isnull(shardId#754597) ASC NULLS FIRST, coalesce(orderProposalId#754598L, 0) ASC NULLS FIRST, isnull(orderProposalId#754598L) ASC NULLS FIRST], false, 0
(98) SortMergeJoin
Left keys [4]: [coalesce(shardId#752363, ), isnull(shardId#752363), coalesce(_extract_orderProposalId#755349L, 0), isnull(_extract_orderProposalId#755349L)]
Right keys [4]: [coalesce(shardId#754597, ), isnull(shardId#754597), coalesce(orderProposalId#754598L, 0), isnull(orderProposalId#754598L)]
Join type: LeftOuter
Join condition: None
(99) Project
Output [2]: [shardId#752363, named_struct(orderProposalId, _extract_orderProposalId#755349L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#755341L, supplierGroup, _extract_supplierGroup#755342, optimizationGroups, coalesce(optimizationGroups#754594, []), supplier, _extract_supplier#755343, supplyingPlant, _extract_supplyingPlant#755344, orderDateTime, _extract_orderDateTime#755345, itemGroups, _extract_itemGroups#755346, previousOrderProposals, _extract_previousOrderProposals#755347, parentItems, _extract_parentItems#755348) AS orderProposal#754701]
Input [14]: [shardId#752363, _extract_orderProposalId#755340L, _extract_originalReplenishmentRunId#755341L, _extract_supplierGroup#755342, _extract_supplier#755343, _extract_supplyingPlant#755344, _extract_orderDateTime#755345, _extract_itemGroups#755346, _extract_previousOrderProposals#755347, _extract_parentItems#755348, _extract_orderProposalId#755349L, orderProposalId#754598L, shardId#754597, optimizationGroups#754594]
(100) Project
Output [3]: [shardId#752363, orderProposal#754701, CASE WHEN (size(orderProposal#754701.parentItems, true) > 2000) THEN xxhash64(orderProposal#754701.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#754701.orderProposalId as decimal(20,0)), 1), 42) END AS resultSeparationId#756453L]
Input [2]: [orderProposal#754701, shardId#752363]
(101) ObjectHashAggregate
Input [3]: [shardId#752363, orderProposal#754701, resultSeparationId#756453L]
Keys [2]: [shardId#752363, resultSeparationId#756453L]
Functions [1]: [partial_collect_list(orderProposal#754701, 0, 0)]
Aggregate Attributes [1]: [buf#756492]
Results [3]: [shardId#752363, resultSeparationId#756453L, buf#756493]
(102) Exchange
Input [3]: [shardId#752363, resultSeparationId#756453L, buf#756493]
Arguments: hashpartitioning(shardId#752363, resultSeparationId#756453L, 20), ENSURE_REQUIREMENTS, [plan_id=302133]
(103) ObjectHashAggregate
Input [3]: [shardId#752363, resultSeparationId#756453L, buf#756493]
Keys [2]: [shardId#752363, resultSeparationId#756453L]
Functions [1]: [collect_list(orderProposal#754701, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#754701, 0, 0)#756461]
Results [3]: [shardId#752363, resultSeparationId#756453L, collect_list(orderProposal#754701, 0, 0)#756461 AS orderProposals#756457]
(104) Exchange
Input [3]: [shardId#752363, resultSeparationId#756453L, orderProposals#756457]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=302176]
(105) Project
Output [2]: [shardId#752363, orderProposals#756457]
Input [3]: [shardId#752363, resultSeparationId#756453L, orderProposals#756457]
(106) Project
Output [2]: [empty2null(shardId#752363) AS shardId#765877, orderProposals#756457]
Input [2]: [orderProposals#756457, shardId#752363]
(107) Sort
Input [2]: [shardId#765877, orderProposals#756457]
Arguments: [shardId#765877 ASC NULLS FIRST], false, 0
(108) WriteFiles
Input [2]: [shardId#765877, orderProposals#756457]
(109) Execute InsertIntoHadoopFsRelationCommand
Input: []
Arguments: hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-result/10000002108, false, [shardId#765877], JSON, [__partition_columns=["shardId"], path=hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-result/10000002108], Append, [shardId, orderProposals]