== Physical Plan ==
Execute SaveIntoDataSourceCommand (1)
+- SaveIntoDataSourceCommand (2)
+- Aggregate (22)
+- Project (21)
+- Project (20)
+- Join (19)
:- Project (15)
: +- Join (14)
: :- Project (10)
: : +- Filter (9)
: : +- Project (8)
: : +- Project (7)
: : +- Window (6)
: : +- Project (5)
: : +- RepartitionByExpression (4)
: : +- LogicalRelation (3)
: +- Project (13)
: +- Repartition (12)
: +- LogicalRelation (11)
+- Project (18)
+- Repartition (17)
+- LogicalRelation (16)
(1) Execute SaveIntoDataSourceCommand
Output: []
(2) SaveIntoDataSourceCommand
Arguments: org.apache.spark.sql.delta.sources.DeltaDataSource@433e46ae, [path=hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/grouping-worklist/10000000096], Append
(3) LogicalRelation
Arguments: parquet, [product#29623, plant#29624, supplier#29625, sourceOfSupplyUuid#29626, orderDateTime#29627, deliveryDateTime#29628, availabilityDateTime#29629, supplierGroup#29630, nextAvailabilityDateTime#29631], false
(4) RepartitionByExpression
Arguments: [product#29623, plant#29624], 25
(5) Project
Arguments: [product#29623, plant#29624, supplier#29625, sourceOfSupplyUuid#29626, orderDateTime#29627, deliveryDateTime#29628, availabilityDateTime#29629, supplierGroup#29630, nextAvailabilityDateTime#29631]
(6) Window
Arguments: [row_number() windowspecdefinition(product#29623, plant#29624, availabilityDateTime#29629 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS rank#29786], [product#29623, plant#29624], [availabilityDateTime#29629 ASC NULLS FIRST]
(7) Project
Arguments: [product#29623, plant#29624, supplier#29625, sourceOfSupplyUuid#29626, orderDateTime#29627, deliveryDateTime#29628, availabilityDateTime#29629, supplierGroup#29630, nextAvailabilityDateTime#29631, rank#29786, rank#29786]
(8) Project
Arguments: [product#29623, plant#29624, supplier#29625, sourceOfSupplyUuid#29626, orderDateTime#29627, deliveryDateTime#29628, availabilityDateTime#29629, supplierGroup#29630, nextAvailabilityDateTime#29631, rank#29786]
(9) Filter
Arguments: (rank#29786 = 1)
(10) Project
Arguments: [product#29623, plant#29624, supplier#29625, sourceOfSupplyUuid#29626, orderDateTime#29627, deliveryDateTime#29628, availabilityDateTime#29629, supplierGroup#29630, nextAvailabilityDateTime#29631]
(11) LogicalRelation
Arguments: parquet, [systemId#29595, internalUUID#29596, plant#29597, product#29598, blockedForReplenishmentStartingFrom#29599, productionAspect#29600, salesPlant#29601, listing#29602, sourceOfSupplyCategory#29603], false
(12) Repartition
Arguments: 25, true
(13) Project
Arguments: [product#29598.internalRefUUID AS product#29613, plant#29597.internalRefUUID AS plant#29614, productionAspect#29600.productPlanningPlants.mrpController.internalRefUUID AS mrpController#29615]
(14) Join
Arguments: LeftOuter, ((plant#29624 = plant#29614) AND (product#29623 = product#29613))
(15) Project
Arguments: [plant#29624, product#29623, supplier#29625, sourceOfSupplyUuid#29626, orderDateTime#29627, deliveryDateTime#29628, availabilityDateTime#29629, supplierGroup#29630, nextAvailabilityDateTime#29631, mrpController#29615]
(16) LogicalRelation
Arguments: parquet, [systemId#29726, internalUUID#29727, supplier#29728, receiver#29729, product#29730, receivingPlant#29731, sourceOfSupplyType#29732, purchasingGroup#29733, purchasingOrganization#29734, productGroup#29735, validFrom#29736, validTo#29737, priority#29738, isPurchasingBlocked#29739, isConsignment#29740, isDeleted#29741, supplierSubrange#29742, plannedDeliveryTimeDays#29743, orderQuantityUnit#29744, purchasingPriceAspect#29745, orderCurrency#29746, minimumOrderQuantity#29747, logisticalRoundingProfile#29748, supplyingPlant#29749], false
(17) Repartition
Arguments: 25, true
(18) Project
Arguments: [internalUUID#29727 AS sourceOfSupplyUuid#29774, supplierSubrange#29742 AS subrange#29775, purchasingGroup#29733.internalRefUUID AS purchasingGroup#29776, purchasingOrganization#29734.internalRefUUID AS purchasingOrg#29777]
(19) Join
Arguments: LeftOuter, (sourceOfSupplyUuid#29626 = sourceOfSupplyUuid#29774)
(20) Project
Arguments: [sourceOfSupplyUuid#29626, plant#29624, product#29623, supplier#29625, orderDateTime#29627, deliveryDateTime#29628, availabilityDateTime#29629, supplierGroup#29630, nextAvailabilityDateTime#29631, mrpController#29615, subrange#29775, purchasingGroup#29776, purchasingOrg#29777]
(21) Project
Arguments: [supplierGroup#29630, supplier#29625, plant#29624, deliveryDateTime#29628, subrange#29775, struct(product, product#29623, orderDateTime, orderDateTime#29627, availabilityDateTime, availabilityDateTime#29629, nextAvailabilityDateTime, nextAvailabilityDateTime#29631, mrpController, mrpController#29615, sourceOfSupplyUuid, sourceOfSupplyUuid#29626, purchasingOrg, purchasingOrg#29777, purchasingGroup, purchasingGroup#29776) AS struct#29829]
(22) Aggregate
Arguments: [supplierGroup#29630, supplier#29625, plant#29624, deliveryDateTime#29628, subrange#29775], [supplierGroup#29630, supplier#29625, plant#29624, deliveryDateTime#29628, subrange#29775, collect_list(struct#29829, 0, 0) AS productOrderSchedule#29843]