== 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@2246e3bd, [path=hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/grouping-worklist/10000000095], Append
(3) LogicalRelation
Arguments: parquet, [product#128, plant#129, supplier#130, sourceOfSupplyUuid#131, orderDateTime#132, deliveryDateTime#133, availabilityDateTime#134, supplierGroup#135, nextAvailabilityDateTime#136], false
(4) RepartitionByExpression
Arguments: [product#128, plant#129], 25
(5) Project
Arguments: [product#128, plant#129, supplier#130, sourceOfSupplyUuid#131, orderDateTime#132, deliveryDateTime#133, availabilityDateTime#134, supplierGroup#135, nextAvailabilityDateTime#136]
(6) Window
Arguments: [row_number() windowspecdefinition(product#128, plant#129, availabilityDateTime#134 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS rank#291], [product#128, plant#129], [availabilityDateTime#134 ASC NULLS FIRST]
(7) Project
Arguments: [product#128, plant#129, supplier#130, sourceOfSupplyUuid#131, orderDateTime#132, deliveryDateTime#133, availabilityDateTime#134, supplierGroup#135, nextAvailabilityDateTime#136, rank#291, rank#291]
(8) Project
Arguments: [product#128, plant#129, supplier#130, sourceOfSupplyUuid#131, orderDateTime#132, deliveryDateTime#133, availabilityDateTime#134, supplierGroup#135, nextAvailabilityDateTime#136, rank#291]
(9) Filter
Arguments: (rank#291 = 1)
(10) Project
Arguments: [product#128, plant#129, supplier#130, sourceOfSupplyUuid#131, orderDateTime#132, deliveryDateTime#133, availabilityDateTime#134, supplierGroup#135, nextAvailabilityDateTime#136]
(11) LogicalRelation
Arguments: parquet, [systemId#100, internalUUID#101, plant#102, product#103, blockedForReplenishmentStartingFrom#104, productionAspect#105, salesPlant#106, listing#107, sourceOfSupplyCategory#108], false
(12) Repartition
Arguments: 25, true
(13) Project
Arguments: [product#103.internalRefUUID AS product#118, plant#102.internalRefUUID AS plant#119, productionAspect#105.productPlanningPlants.mrpController.internalRefUUID AS mrpController#120]
(14) Join
Arguments: LeftOuter, ((plant#129 = plant#119) AND (product#128 = product#118))
(15) Project
Arguments: [plant#129, product#128, supplier#130, sourceOfSupplyUuid#131, orderDateTime#132, deliveryDateTime#133, availabilityDateTime#134, supplierGroup#135, nextAvailabilityDateTime#136, mrpController#120]
(16) LogicalRelation
Arguments: parquet, [systemId#231, internalUUID#232, supplier#233, receiver#234, product#235, receivingPlant#236, sourceOfSupplyType#237, purchasingGroup#238, purchasingOrganization#239, productGroup#240, validFrom#241, validTo#242, priority#243, isPurchasingBlocked#244, isConsignment#245, isDeleted#246, supplierSubrange#247, plannedDeliveryTimeDays#248, orderQuantityUnit#249, purchasingPriceAspect#250, orderCurrency#251, minimumOrderQuantity#252, logisticalRoundingProfile#253, supplyingPlant#254], false
(17) Repartition
Arguments: 25, true
(18) Project
Arguments: [internalUUID#232 AS sourceOfSupplyUuid#279, supplierSubrange#247 AS subrange#280, purchasingGroup#238.internalRefUUID AS purchasingGroup#281, purchasingOrganization#239.internalRefUUID AS purchasingOrg#282]
(19) Join
Arguments: LeftOuter, (sourceOfSupplyUuid#131 = sourceOfSupplyUuid#279)
(20) Project
Arguments: [sourceOfSupplyUuid#131, plant#129, product#128, supplier#130, orderDateTime#132, deliveryDateTime#133, availabilityDateTime#134, supplierGroup#135, nextAvailabilityDateTime#136, mrpController#120, subrange#280, purchasingGroup#281, purchasingOrg#282]
(21) Project
Arguments: [supplierGroup#135, supplier#130, plant#129, deliveryDateTime#133, subrange#280, struct(product, product#128, orderDateTime, orderDateTime#132, availabilityDateTime, availabilityDateTime#134, nextAvailabilityDateTime, nextAvailabilityDateTime#136, mrpController, mrpController#120, sourceOfSupplyUuid, sourceOfSupplyUuid#131, purchasingOrg, purchasingOrg#282, purchasingGroup, purchasingGroup#281) AS struct#334]
(22) Aggregate
Arguments: [supplierGroup#135, supplier#130, plant#129, deliveryDateTime#133, subrange#280], [supplierGroup#135, supplier#130, plant#129, deliveryDateTime#133, subrange#280, collect_list(struct#334, 0, 0) AS productOrderSchedule#348]