digraph G {
0 [id="node0" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
1 [id="node1" labelType="html" label="<br><b>DeserializeToObject</b><br><br>" tooltip="DeserializeToObject createexternalrow(invoke(shardId#3506645.toString()), static_invoke(java.lang.Long.valueOf(orderProposalId#3506646L)), mapobjects(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1), if (isnull(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1))) null else createexternalrow(static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).quantityAfterProdPlantOptimization)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).qty)), StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true)), items#3506647, Some(class scala.collection.mutable.ArraySeq)), mapobjects(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2))) null else createexternalrow(invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).optGroupId.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).assignmentDetails.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderProfile.toString()), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal)) null else createexternalrow(static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.minOrderValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.calculatedOrderValue)), static_invoke(java.lang.Integer.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.dimensionType)), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unit.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unitUuid.toString()), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.negligibleQuantitiesThreshold)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.acceptanceThreshold)), StructField(minOrderValue,DoubleType,true), StructField(calculatedOrderValue,DoubleType,true), StructField(dimensionType,IntegerType,true), StructField(unit,StringType,true), StructField(unitUuid,StringType,true), StructField(negligibleQuantitiesThreshold,DoubleType,true), StructField(acceptanceThreshold,DoubleType,true)), StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)), optimizationGroups#3506648, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Boolean.valueOf(isOptimal#3506649)), static_invoke(DateTimeUtils.toJavaTimestamp(lastModified#3506650)), mapobjects(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3), createexternalrow(invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).internalInsightType.toString()), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).thresholdValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).reachedValue)), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).unitOfMeasure.toString()), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).assignmentDetails.toString()), StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false)), optimizationInsights#3506651, Some(class scala.collection.mutable.ArraySeq)), StructField(shardId,StringType,true), StructField(orderProposalId,LongType,true), StructField(items,ArrayType(StructType(StructField(worklistShardItemId,LongType,true),StructField(quantityAfterProdPlantOptimization,DoubleType,true),StructField(qty,DoubleType,true)),true),true), StructField(optimizationGroups,ArrayType(StructType(StructField(optGroupId,StringType,true),StructField(assignmentDetails,StringType,true),StructField(minOrderProfile,StringType,true),StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)),true),true), StructField(isOptimal,BooleanType,true), StructField(lastModified,TimestampType,true), StructField(optimizationInsights,ArrayType(StructType(StructField(internalInsightType,StringType,false),StructField(worklistShardItemId,LongType,true),StructField(thresholdValue,DoubleType,true),StructField(reachedValue,DoubleType,true),StructField(unitOfMeasure,StringType,true),StructField(assignmentDetails,StringType,false)),false),true)), obj#3506789: org.apache.spark.sql.Row"];
subgraph cluster2 {
isCluster="true";
id="cluster2";
label="WholeStageCodegen (8)";
tooltip="WholeStageCodegen (8)";
3 [id="node3" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]"];
4 [id="node4" labelType="html" label="<br><b>BroadcastHashJoin</b><br><br>" tooltip="BroadcastHashJoin [shardId#3506645, orderProposalId#3506646L, lastModified#3506650], [shardId#3506668, orderProposalId#3506669L, lastModified#3506659], Inner, BuildRight, false"];
}
5 [id="node5" labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 37" tooltip="AQEShuffleRead local"];
6 [id="node6" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 4,709<br>data size total (min, med, max (stageId: taskId))<br>9.6 MiB (99.4 KiB, 134.5 KiB, 213.8 KiB (stage 326194.0: task 915623))<br>shuffle write time total (min, med, max (stageId: taskId))<br>210 ms (1 ms, 1 ms, 21 ms (stage 326194.0: task 915641))<br>number of partitions: 37<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>2024.8 KiB (22.1 KiB, 27.3 KiB, 39.4 KiB (stage 326194.0: task 915623))" tooltip="Exchange hashpartitioning(shardId#3506645, orderProposalId#3506646L, lastModified#3506650, 37), ENSURE_REQUIREMENTS, [plan_id=1005056]"];
7 [id="node7" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster8 {
isCluster="true";
id="cluster8";
label="WholeStageCodegen (6)\n \nduration: total (min, med, max (stageId: taskId))\n785 ms (11 ms, 14 ms, 115 ms (stage 326194.0: task 915605))";
tooltip="WholeStageCodegen (6)";
9 [id="node9" labelType="html" label="<b>Filter</b><br><br>number of output rows: 2,360" tooltip="Filter ((isnotnull(shardId#3506645) AND isnotnull(orderProposalId#3506646L)) AND isnotnull(lastModified#3506650))"];
10 [id="node10" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 2,360" tooltip="Scan ExistingRDD[shardId#3506645,orderProposalId#3506646L,items#3506647,optimizationGroups#3506648,isOptimal#3506649,lastModified#3506650,optimizationInsights#3506651]"];
}
11 [id="node11" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 2,349<br>time in aggregation build total (min, med, max (stageId: taskId))<br>345 ms (6 ms, 9 ms, 31 ms (stage 326194.0: task 915621))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 326194.0: task 915624))<br>number of sort fallback tasks: 0" tooltip="ObjectHashAggregate(keys=[shardId#3502912, orderProposalId#3502914L], functions=[collect_list(struct(worklistShardItemId, worklistShardItemId#3502913L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)])"];
12 [id="node12" labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 36<br>partition data size total (min, med, max (stageId: taskId))<br>2.3 MiB (50.2 KiB, 64.8 KiB, 104.9 KiB (driver))<br>number of coalesced partitions: 1" tooltip="AQEShuffleRead coalesced"];
13 [id="node13" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 65,258<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 65,258<br>local bytes read total (min, med, max (stageId: taskId))<br>846.2 KiB (18.2 KiB, 23.3 KiB, 38.6 KiB (stage 326194.0: task 915623))<br>merged fetch fallback count: 0<br>local blocks read: 518<br>remote merged chunks fetched: 0<br>remote blocks read: 851<br>data size total (min, med, max (stageId: taskId))<br>9.5 MiB (259.3 KiB, 263.4 KiB, 268.9 KiB (stage 326145.0: task 915517))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>129 ms (1 ms, 2 ms, 27 ms (stage 326145.0: task 915492))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time total (min, med, max (stageId: taskId))<br>28 ms (0 ms, 0 ms, 8 ms (stage 326194.0: task 915653))<br>remote bytes read total (min, med, max (stageId: taskId))<br>1384.1 KiB (29.1 KiB, 37.9 KiB, 62.0 KiB (stage 326194.0: task 915623))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>276 ms (4 ms, 6 ms, 24 ms (stage 326194.0: task 915653))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>2.2 MiB (59.1 KiB, 60.4 KiB, 62.0 KiB (stage 326145.0: task 915517))" tooltip="Exchange hashpartitioning(shardId#3502912, orderProposalId#3502914L, 37), ENSURE_REQUIREMENTS, [plan_id=1004856]"];
14 [id="node14" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 65,258<br>time in aggregation build total (min, med, max (stageId: taskId))<br>4.9 s (6 ms, 14 ms, 1.1 s (stage 326145.0: task 915475))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 326145.0: task 915499))<br>number of sort fallback tasks: 37" tooltip="ObjectHashAggregate(keys=[shardId#3502912, orderProposalId#3502914L], functions=[partial_collect_list(struct(worklistShardItemId, worklistShardItemId#3502913L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)])"];
subgraph cluster15 {
isCluster="true";
id="cluster15";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n4.5 s (4 ms, 9 ms, 1.1 s (stage 326145.0: task 915475))";
tooltip="WholeStageCodegen (1)";
16 [id="node16" labelType="html" label="<b>Filter</b><br><br>number of output rows: 119,146" tooltip="Filter (isnotnull(shardId#3502912) AND isnotnull(orderProposalId#3502914L))"];
}
17 [id="node17" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 119,146" tooltip="InMemoryTableScan [shardId#3502912, worklistShardItemId#3502913L, orderProposalId#3502914L], [isnotnull(shardId#3502912), isnotnull(orderProposalId#3502914L)]"];
18 [id="node18" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
subgraph cluster19 {
isCluster="true";
id="cluster19";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
20 [id="node20" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [0_6_10000000532 AS shardId#3502912, worklistShardItemId#3503139L, orderProposalId#3503116L, orderProposalItemId#3503117, orderProposalItemGroupId#3503140, originalReplenishmentRunId#3503158L, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, cast(sequenceId#3503138 as bigint) AS sequenceId#3502922L, sourceOfSupplyUuid#3503130, supplierGroup#3503118, supplier#3503119, subrange#3503122, product#3503125, plant#3503120, purchasingOrg#3503131, purchasingGroup#3503132, mrpController#3503129, orderDateTime#3503126, deliveryDateTime#3503121, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, isFallbackOrderOnly#3503133, ... 20 more fields]"];
}
21 [id="node21" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(worklistShardItemId#3503139L, 37), REPARTITION_BY_NUM, [plan_id=1004202]"];
subgraph cluster22 {
isCluster="true";
id="cluster22";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
23 [id="node23" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, sequenceId#3503138, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, ... 19 more fields]"];
24 [id="node24" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((isnotnull(availabilityDateTime#3503127) AND isnotnull(nextAvailabilityDateTime#3503128)) AND (nextAvailabilityDateTime#3503128 > availabilityDateTime#3503127))"];
25 [id="node25" labelType="html" label="<br><b>ColumnarToRow</b><br><br>" tooltip="ColumnarToRow"];
}
26 [id="node26" labelType="html" label="<br><b>Scan parquet </b><br><br>" tooltip="FileScan parquet [orderProposalId#3503116L,orderProposalItemId#3503117,supplierGroup#3503118,supplier#3503119,plant#3503120,deliveryDateTime#3503121,subrange#3503122,supplyingPlant#3503123,productGroup#3503124,product#3503125,orderDateTime#3503126,availabilityDateTime#3503127,nextAvailabilityDateTime#3503128,mrpController#3503129,sourceOfSupplyUuid#3503130,purchasingOrg#3503131,purchasingGroup#3503132,isFallbackOrderOnly#3503133,orderProposalHorizonGroupingId#3503134L,splitIndicator#3503135L,previousOrderProposal#3503136L,clusterId#3503137L,worklistShardItemId#3503139L,orderProposalItemGroupId#3503140,externalProductId#3503141,... 20 more fields] Batched: true, DataFilters: [isnotnull(availabilityDateTime#3503127), isnotnull(nextAvailabilityDateTime#3503128), (nextAvail..., Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20...., PartitionFilters: [isnotnull(shardId#3503160), isnotnull(sequenceId#3503138), (shardId#3503160 = 0_6_10000000532), ..., PushedFilters: [IsNotNull(availabilityDateTime), IsNotNull(nextAvailabilityDateTime)], ReadSchema: struct<orderProposalId:bigint,orderProposalItemId:string,supplierGroup:string,supplier:string,pla..."];
27 [id="node27" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 1 ms<br>time to build: 2 ms<br>time to collect: 1.4 s<br>number of output rows: 4,709<br>data size: 2.3 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, true], input[1, bigint, true], input[2, timestamp, false]),false), [plan_id=1005127]"];
subgraph cluster28 {
isCluster="true";
id="cluster28";
label="WholeStageCodegen (7)\n \nduration: total (min, med, max (stageId: taskId))\n109 ms (31 ms, 31 ms, 47 ms (stage 326243.0: task 915695))";
tooltip="WholeStageCodegen (7)";
29 [id="node29" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,709" tooltip="Filter isnotnull(lastModified#3506659)"];
30 [id="node30" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>102 ms (28 ms, 28 ms, 46 ms (stage 326243.0: task 915695))<br>peak memory total (min, med, max (stageId: taskId))<br>6.8 MiB (2.3 MiB, 2.3 MiB, 2.3 MiB (stage 326243.0: task 915694))<br>number of output rows: 4,709<br>number of sort fallback tasks: 0<br>avg hash probes per key (min, med, max (stageId: taskId)):<br>(1, 1, 1 (stage 326243.0: task 915694))" tooltip="HashAggregate(keys=[shardId#3506668, orderProposalId#3506669L], functions=[max(lastModified#3506673)])"];
}
31 [id="node31" labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 3<br>partition data size total (min, med, max (stageId: taskId))<br>200.4 KiB (53.6 KiB, 54.5 KiB, 92.4 KiB (driver))<br>number of coalesced partitions: 3" tooltip="AQEShuffleRead coalesced"];
32 [id="node32" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 4,709<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 4,709<br>local bytes read total (min, med, max (stageId: taskId))<br>140.4 KiB (37.4 KiB, 38.2 KiB, 64.8 KiB (stage 326243.0: task 915695))<br>merged fetch fallback count: 0<br>local blocks read: 960<br>remote merged chunks fetched: 0<br>remote blocks read: 444<br>data size total (min, med, max (stageId: taskId))<br>220.7 KiB (2.7 KiB, 3.1 KiB, 13.5 KiB (stage 326192.0: task 915678))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>276 ms (0 ms, 1 ms, 192 ms (stage 326192.0: task 915533))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 326243.0: task 915694))<br>remote bytes read total (min, med, max (stageId: taskId))<br>53.0 KiB (14.3 KiB, 14.4 KiB, 24.4 KiB (stage 326243.0: task 915695))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>30 ms (7 ms, 10 ms, 13 ms (stage 326243.0: task 915694))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>193.4 KiB (1800.0 B, 4.4 KiB, 4.5 KiB (stage 326192.0: task 915584))" tooltip="Exchange hashpartitioning(shardId#3506668, orderProposalId#3506669L, 37), ENSURE_REQUIREMENTS, [plan_id=1004996]"];
subgraph cluster33 {
isCluster="true";
id="cluster33";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n3.4 s (12 ms, 18 ms, 357 ms (stage 326192.0: task 915534))";
tooltip="WholeStageCodegen (5)";
34 [id="node34" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>1.7 s (8 ms, 14 ms, 203 ms (stage 326192.0: task 915534))<br>peak memory total (min, med, max (stageId: taskId))<br>12.8 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 326192.0: task 915538))<br>number of output rows: 4,709<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[shardId#3506668, orderProposalId#3506669L], functions=[partial_max(lastModified#3506673)])"];
}
35 [id="node35" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster36 {
isCluster="true";
id="cluster36";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n2.7 s (9 ms, 11 ms, 539 ms (stage 326192.0: task 915534))";
tooltip="WholeStageCodegen (3)";
37 [id="node37" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#3506668, orderProposalId#3506669L, lastModified#3506673]"];
38 [id="node38" labelType="html" label="<b>Filter</b><br><br>number of output rows: 2,360" tooltip="Filter (isnotnull(shardId#3506668) AND isnotnull(orderProposalId#3506669L))"];
39 [id="node39" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 2,360" tooltip="Scan ExistingRDD[shardId#3506668,orderProposalId#3506669L,items#3506670,optimizationGroups#3506671,isOptimal#3506672,lastModified#3506673,optimizationInsights#3506674]"];
}
subgraph cluster40 {
isCluster="true";
id="cluster40";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n373 ms (11 ms, 17 ms, 61 ms (stage 326192.0: task 915678))";
tooltip="WholeStageCodegen (4)";
41 [id="node41" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>330 ms (9 ms, 15 ms, 58 ms (stage 326192.0: task 915678))<br>peak memory total (min, med, max (stageId: taskId))<br>3.5 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 326192.0: task 915666))<br>number of output rows: 2,349<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[shardId#3506675, orderProposalId#3506677L], functions=[])"];
}
42 [id="node42" labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 14<br>partition data size total (min, med, max (stageId: taskId))<br>928.3 KiB (53.4 KiB, 64.4 KiB, 116.0 KiB (driver))<br>number of coalesced partitions: 14" tooltip="AQEShuffleRead coalesced"];
43 [id="node43" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 65,258<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 65,258<br>local bytes read total (min, med, max (stageId: taskId))<br>788.8 KiB (45.2 KiB, 54.7 KiB, 98.3 KiB (stage 326192.0: task 915678))<br>merged fetch fallback count: 0<br>local blocks read: 1,221<br>remote merged chunks fetched: 0<br>remote blocks read: 148<br>data size total (min, med, max (stageId: taskId))<br>2.5 MiB (67.6 KiB, 68.7 KiB, 70.3 KiB (stage 326144.0: task 915457))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>68 ms (1 ms, 1 ms, 2 ms (stage 326144.0: task 915484))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 326192.0: task 915666))<br>remote bytes read total (min, med, max (stageId: taskId))<br>95.6 KiB (5.5 KiB, 6.8 KiB, 12.0 KiB (stage 326192.0: task 915678))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>82 ms (4 ms, 4 ms, 14 ms (stage 326192.0: task 915672))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>884.4 KiB (23.5 KiB, 23.9 KiB, 24.3 KiB (stage 326144.0: task 915457))" tooltip="Exchange hashpartitioning(shardId#3506675, orderProposalId#3506677L, 37), ENSURE_REQUIREMENTS, [plan_id=1004892]"];
subgraph cluster44 {
isCluster="true";
id="cluster44";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n1.9 s (7 ms, 8 ms, 662 ms (stage 326144.0: task 915468))";
tooltip="WholeStageCodegen (2)";
45 [id="node45" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>342 ms (3 ms, 3 ms, 108 ms (stage 326144.0: task 915468))<br>peak memory total (min, med, max (stageId: taskId))<br>25.3 MiB (256.0 KiB, 256.0 KiB, 2.3 MiB (stage 326144.0: task 915457))<br>number of output rows: 65,258<br>number of sort fallback tasks: 0<br>avg hash probes per key (min, med, max (stageId: taskId)):<br>(1, 1, 1 (stage 326144.0: task 915457))" tooltip="HashAggregate(keys=[shardId#3506675, orderProposalId#3506677L], functions=[])"];
46 [id="node46" labelType="html" label="<b>Filter</b><br><br>number of output rows: 119,146" tooltip="Filter (isnotnull(shardId#3506675) AND isnotnull(orderProposalId#3506677L))"];
}
47 [id="node47" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 119,146" tooltip="InMemoryTableScan [shardId#3506675, orderProposalId#3506677L], [isnotnull(shardId#3506675), isnotnull(orderProposalId#3506677L)]"];
48 [id="node48" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
subgraph cluster49 {
isCluster="true";
id="cluster49";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
50 [id="node50" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [0_6_10000000532 AS shardId#3502912, worklistShardItemId#3503139L, orderProposalId#3503116L, orderProposalItemId#3503117, orderProposalItemGroupId#3503140, originalReplenishmentRunId#3503158L, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, cast(sequenceId#3503138 as bigint) AS sequenceId#3502922L, sourceOfSupplyUuid#3503130, supplierGroup#3503118, supplier#3503119, subrange#3503122, product#3503125, plant#3503120, purchasingOrg#3503131, purchasingGroup#3503132, mrpController#3503129, orderDateTime#3503126, deliveryDateTime#3503121, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, isFallbackOrderOnly#3503133, ... 20 more fields]"];
}
1->0;
3->1;
4->3;
5->4;
6->5;
7->6;
9->7;
10->9;
11->7;
12->11;
13->12;
14->13;
16->14;
17->16;
18->17;
20->18;
21->20;
23->21;
24->23;
25->24;
26->25;
27->4;
29->27;
30->29;
31->30;
32->31;
34->32;
35->34;
37->35;
38->37;
39->38;
41->35;
42->41;
43->42;
45->43;
46->45;
47->46;
48->47;
50->48;
21->50;
}
== Physical Plan ==
AdaptiveSparkPlan (75)
+- == Final Plan ==
ResultQueryStage (53), Statistics(sizeInBytes=8.0 EiB)
+- DeserializeToObject (52)
+- * Project (51)
+- * BroadcastHashJoin Inner BuildRight (50)
:- AQEShuffleRead (28)
: +- ShuffleQueryStage (27), Statistics(sizeInBytes=9.6 MiB, rowCount=4.71E+3)
: +- Exchange (26)
: +- Union (25)
: :- * Filter (2)
: : +- * Scan ExistingRDD (1)
: +- ObjectHashAggregate (24)
: +- AQEShuffleRead (23)
: +- ShuffleQueryStage (22), Statistics(sizeInBytes=9.5 MiB, rowCount=6.53E+4)
: +- Exchange (21)
: +- ObjectHashAggregate (20)
: +- * Filter (19)
: +- TableCacheQueryStage (18), Statistics(sizeInBytes=137.3 MiB, rowCount=1.19E+5)
: +- InMemoryTableScan (3)
: +- InMemoryRelation (4)
: +- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=154.6 MiB, rowCount=1.19E+5)
+- Exchange (9)
+- * Project (8)
+- * Filter (7)
+- * ColumnarToRow (6)
+- Scan parquet (5)
+- == Initial Plan ==
Project (16)
+- Exchange (15)
+- Project (14)
+- Filter (13)
+- Scan parquet (5)
+- BroadcastQueryStage (49), Statistics(sizeInBytes=2.3 MiB, rowCount=4.71E+3)
+- BroadcastExchange (48)
+- * Filter (47)
+- * HashAggregate (46)
+- AQEShuffleRead (45)
+- ShuffleQueryStage (44), Statistics(sizeInBytes=220.7 KiB, rowCount=4.71E+3)
+- Exchange (43)
+- * HashAggregate (42)
+- Union (41)
:- * Project (31)
: +- * Filter (30)
: +- * Scan ExistingRDD (29)
+- * HashAggregate (40)
+- AQEShuffleRead (39)
+- ShuffleQueryStage (38), Statistics(sizeInBytes=2.5 MiB, rowCount=6.53E+4)
+- Exchange (37)
+- * HashAggregate (36)
+- * Filter (35)
+- TableCacheQueryStage (34), Statistics(sizeInBytes=137.3 MiB, rowCount=1.19E+5)
+- InMemoryTableScan (32)
+- InMemoryRelation (33)
+- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=154.6 MiB, rowCount=1.19E+5)
+- Exchange (9)
+- * Project (8)
+- * Filter (7)
+- * ColumnarToRow (6)
+- Scan parquet (5)
+- == Initial Plan ==
Project (16)
+- Exchange (15)
+- Project (14)
+- Filter (13)
+- Scan parquet (5)
+- == Initial Plan ==
DeserializeToObject (74)
+- Project (73)
+- SortMergeJoin Inner (72)
:- Sort (60)
: +- Exchange (59)
: +- Union (58)
: :- Filter (2)
: : +- Scan ExistingRDD (1)
: +- ObjectHashAggregate (57)
: +- Exchange (56)
: +- ObjectHashAggregate (55)
: +- Filter (54)
: +- InMemoryTableScan (3)
: +- InMemoryRelation (4)
: +- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=154.6 MiB, rowCount=1.19E+5)
+- Exchange (9)
+- * Project (8)
+- * Filter (7)
+- * ColumnarToRow (6)
+- Scan parquet (5)
+- == Initial Plan ==
Project (16)
+- Exchange (15)
+- Project (14)
+- Filter (13)
+- Scan parquet (5)
+- Sort (71)
+- Exchange (70)
+- Filter (69)
+- HashAggregate (68)
+- Exchange (67)
+- HashAggregate (66)
+- Union (65)
:- Project (31)
: +- Filter (30)
: +- Scan ExistingRDD (29)
+- HashAggregate (64)
+- Exchange (63)
+- HashAggregate (62)
+- Filter (61)
+- InMemoryTableScan (32)
+- InMemoryRelation (33)
+- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=154.6 MiB, rowCount=1.19E+5)
+- Exchange (9)
+- * Project (8)
+- * Filter (7)
+- * ColumnarToRow (6)
+- Scan parquet (5)
+- == Initial Plan ==
Project (16)
+- Exchange (15)
+- Project (14)
+- Filter (13)
+- Scan parquet (5)
(1) Scan ExistingRDD [codegen id : 6]
Output [7]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]
Arguments: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651], MapPartitionsRDD[148959] at createDataFrame at OptimalQuantitiesCacheImpl.java:212, ExistingRDD, UnknownPartitioning(0)
(2) Filter [codegen id : 6]
Input [7]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]
Condition : ((isnotnull(shardId#3506645) AND isnotnull(orderProposalId#3506646L)) AND isnotnull(lastModified#3506650))
(3) InMemoryTableScan
Output [3]: [shardId#3502912, worklistShardItemId#3502913L, orderProposalId#3502914L]
Arguments: [shardId#3502912, worklistShardItemId#3502913L, orderProposalId#3502914L], [isnotnull(shardId#3502912), isnotnull(orderProposalId#3502914L)]
(4) InMemoryRelation
Arguments: [shardId#3502912, worklistShardItemId#3502913L, orderProposalId#3502914L, orderProposalItemId#3502915, orderProposalItemGroupId#3502916, originalReplenishmentRunId#3502917L, orderProposalHorizonGroupingId#3502918L, splitIndicator#3502919L, previousOrderProposal#3502920L, clusterId#3502921L, sequenceId#3502922L, sourceOfSupplyUuid#3502923, supplierGroup#3502924, supplier#3502925, subrange#3502926, product#3502927, plant#3502928, purchasingOrg#3502929, purchasingGroup#3502930, mrpController#3502931, orderDateTime#3502932, deliveryDateTime#3502933, availabilityDateTime#3502934, nextAvailabilityDateTime#3502935, isFallbackOrderOnly#3502936, ... 20 more fields], StorageLevel(disk, memory, 2 replicas)
(5) Scan parquet
Output [45]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159, shardId#3503160, sequenceId#3503138]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000000532]
PartitionFilters: [isnotnull(shardId#3503160), isnotnull(sequenceId#3503138), (shardId#3503160 = 0_6_10000000532), (sequenceId#3503138 = 6)]
PushedFilters: [IsNotNull(availabilityDateTime), IsNotNull(nextAvailabilityDateTime)]
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,mrpController:string,sourceOfSupplyUuid:string,purchasingOrg:string,purchasingGroup:string,isFallbackOrderOnly:boolean,orderProposalHorizonGroupingId:bigint,splitIndicator:bigint,previousOrderProposal:bigint,clusterId: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>,constraintRanks:array<int>,constraintIsActive:array<boolean>,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>>
(6) ColumnarToRow [codegen id : 1]
Input [45]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159, shardId#3503160, sequenceId#3503138]
(7) Filter [codegen id : 1]
Input [45]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159, shardId#3503160, sequenceId#3503138]
Condition : ((isnotnull(availabilityDateTime#3503127) AND isnotnull(nextAvailabilityDateTime#3503128)) AND (nextAvailabilityDateTime#3503128 > availabilityDateTime#3503127))
(8) Project [codegen id : 1]
Output [44]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, sequenceId#3503138, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159]
Input [45]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159, shardId#3503160, sequenceId#3503138]
(9) Exchange
Input [44]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, sequenceId#3503138, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159]
Arguments: hashpartitioning(worklistShardItemId#3503139L, 37), REPARTITION_BY_NUM, [plan_id=1004202]
(10) ShuffleQueryStage
Output [44]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, sequenceId#3503138, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159]
Arguments: 0
(11) Project [codegen id : 2]
Output [45]: [0_6_10000000532 AS shardId#3502912, worklistShardItemId#3503139L, orderProposalId#3503116L, orderProposalItemId#3503117, orderProposalItemGroupId#3503140, originalReplenishmentRunId#3503158L, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, cast(sequenceId#3503138 as bigint) AS sequenceId#3502922L, sourceOfSupplyUuid#3503130, supplierGroup#3503118, supplier#3503119, subrange#3503122, product#3503125, plant#3503120, purchasingOrg#3503131, purchasingGroup#3503132, mrpController#3503129, orderDateTime#3503126, deliveryDateTime#3503121, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, isFallbackOrderOnly#3503133, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, netPriceAmount#3503152, netPriceCurrencyCode#3503153, measurements#3503157, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintRanks#3503150, constraintValues#3503149, constraintIsActive#3503151, logisticUnits#3503143, optimizationGroups#3503159, externalProductId#3503141, externalPlantId#3503142, supplyingPlant#3503123, productGroup#3503124]
Input [44]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, sequenceId#3503138, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159]
(12) ResultQueryStage
Output [45]: [shardId#3502912, worklistShardItemId#3503139L, orderProposalId#3503116L, orderProposalItemId#3503117, orderProposalItemGroupId#3503140, originalReplenishmentRunId#3503158L, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, sequenceId#3502922L, sourceOfSupplyUuid#3503130, supplierGroup#3503118, supplier#3503119, subrange#3503122, product#3503125, plant#3503120, purchasingOrg#3503131, purchasingGroup#3503132, mrpController#3503129, orderDateTime#3503126, deliveryDateTime#3503121, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, isFallbackOrderOnly#3503133, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, netPriceAmount#3503152, netPriceCurrencyCode#3503153, measurements#3503157, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintRanks#3503150, constraintValues#3503149, constraintIsActive#3503151, logisticUnits#3503143, optimizationGroups#3503159, externalProductId#3503141, externalPlantId#3503142, supplyingPlant#3503123, productGroup#3503124]
Arguments: 1
(13) Filter
Input [45]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159, shardId#3503160, sequenceId#3503138]
Condition : ((isnotnull(availabilityDateTime#3503127) AND isnotnull(nextAvailabilityDateTime#3503128)) AND (nextAvailabilityDateTime#3503128 > availabilityDateTime#3503127))
(14) Project
Output [44]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, sequenceId#3503138, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159]
Input [45]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159, shardId#3503160, sequenceId#3503138]
(15) Exchange
Input [44]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, sequenceId#3503138, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159]
Arguments: hashpartitioning(worklistShardItemId#3503139L, 37), REPARTITION_BY_NUM, [plan_id=1004174]
(16) Project
Output [45]: [0_6_10000000532 AS shardId#3502912, worklistShardItemId#3503139L, orderProposalId#3503116L, orderProposalItemId#3503117, orderProposalItemGroupId#3503140, originalReplenishmentRunId#3503158L, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, cast(sequenceId#3503138 as bigint) AS sequenceId#3502922L, sourceOfSupplyUuid#3503130, supplierGroup#3503118, supplier#3503119, subrange#3503122, product#3503125, plant#3503120, purchasingOrg#3503131, purchasingGroup#3503132, mrpController#3503129, orderDateTime#3503126, deliveryDateTime#3503121, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, isFallbackOrderOnly#3503133, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, netPriceAmount#3503152, netPriceCurrencyCode#3503153, measurements#3503157, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintRanks#3503150, constraintValues#3503149, constraintIsActive#3503151, logisticUnits#3503143, optimizationGroups#3503159, externalProductId#3503141, externalPlantId#3503142, supplyingPlant#3503123, productGroup#3503124]
Input [44]: [orderProposalId#3503116L, orderProposalItemId#3503117, supplierGroup#3503118, supplier#3503119, plant#3503120, deliveryDateTime#3503121, subrange#3503122, supplyingPlant#3503123, productGroup#3503124, product#3503125, orderDateTime#3503126, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, mrpController#3503129, sourceOfSupplyUuid#3503130, purchasingOrg#3503131, purchasingGroup#3503132, isFallbackOrderOnly#3503133, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, sequenceId#3503138, worklistShardItemId#3503139L, orderProposalItemGroupId#3503140, externalProductId#3503141, externalPlantId#3503142, logisticUnits#3503143, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintValues#3503149, constraintRanks#3503150, constraintIsActive#3503151, netPriceAmount#3503152, netPriceCurrencyCode#3503153, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, measurements#3503157, originalReplenishmentRunId#3503158L, optimizationGroups#3503159]
(17) AdaptiveSparkPlan
Output [45]: [shardId#3502912, worklistShardItemId#3503139L, orderProposalId#3503116L, orderProposalItemId#3503117, orderProposalItemGroupId#3503140, originalReplenishmentRunId#3503158L, orderProposalHorizonGroupingId#3503134L, splitIndicator#3503135L, previousOrderProposal#3503136L, clusterId#3503137L, sequenceId#3502922L, sourceOfSupplyUuid#3503130, supplierGroup#3503118, supplier#3503119, subrange#3503122, product#3503125, plant#3503120, purchasingOrg#3503131, purchasingGroup#3503132, mrpController#3503129, orderDateTime#3503126, deliveryDateTime#3503121, availabilityDateTime#3503127, nextAvailabilityDateTime#3503128, isFallbackOrderOnly#3503133, orderQuantityBaseUom#3503144, orderQuantityBaseUomUuid#3503145, netPriceQuantity#3503154, netPriceQuantityUom#3503155, netPriceQuantityUomUuid#3503156, netPriceAmount#3503152, netPriceCurrencyCode#3503153, measurements#3503157, minimumOrderQuantity#3503146, constraintLabels#3503147, constraintOperators#3503148, constraintRanks#3503150, constraintValues#3503149, constraintIsActive#3503151, logisticUnits#3503143, optimizationGroups#3503159, externalProductId#3503141, externalPlantId#3503142, supplyingPlant#3503123, productGroup#3503124]
Arguments: isFinalPlan=true
(18) TableCacheQueryStage
Output [3]: [shardId#3502912, worklistShardItemId#3502913L, orderProposalId#3502914L]
Arguments: 0
(19) Filter [codegen id : 1]
Input [3]: [shardId#3502912, worklistShardItemId#3502913L, orderProposalId#3502914L]
Condition : (isnotnull(shardId#3502912) AND isnotnull(orderProposalId#3502914L))
(20) ObjectHashAggregate
Input [3]: [shardId#3502912, worklistShardItemId#3502913L, orderProposalId#3502914L]
Keys [2]: [shardId#3502912, orderProposalId#3502914L]
Functions [1]: [partial_collect_list(struct(worklistShardItemId, worklistShardItemId#3502913L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [buf#3508140]
Results [3]: [shardId#3502912, orderProposalId#3502914L, buf#3508141]
(21) Exchange
Input [3]: [shardId#3502912, orderProposalId#3502914L, buf#3508141]
Arguments: hashpartitioning(shardId#3502912, orderProposalId#3502914L, 37), ENSURE_REQUIREMENTS, [plan_id=1004856]
(22) ShuffleQueryStage [codegen id : 6]
Output [3]: [shardId#3502912, orderProposalId#3502914L, buf#3508141]
Arguments: 2
(23) AQEShuffleRead [codegen id : 6]
Input [3]: [shardId#3502912, orderProposalId#3502914L, buf#3508141]
Arguments: coalesced
(24) ObjectHashAggregate [codegen id : 6]
Input [3]: [shardId#3502912, orderProposalId#3502914L, buf#3508141]
Keys [2]: [shardId#3502912, orderProposalId#3502914L]
Functions [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3502913L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3502913L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3506636]
Results [7]: [shardId#3502912, orderProposalId#3502914L, cast(transform(collect_list(struct(worklistShardItemId, worklistShardItemId#3502913L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3506636, lambdafunction(struct(worklistShardItemId, lambda x_11610#3506657.worklistShardItemId, quantityAfterProdPlantOptimization, lambda x_11610#3506657.quantityAfterProdPlantOptimization, qty, lambda x_11610#3506657.optimalQuantity), lambda x_11610#3506657, false)) as array<struct<worklistShardItemId:bigint,quantityAfterProdPlantOptimization:double,qty:double>>) AS items#3506658, [] AS optimizationGroups#3506652, false AS isOptimal#3506637, 2026-08-31 14:12:21.449513 AS lastModified#3506656, [] AS optimizationInsights#3506653]
(25) Union
(26) Exchange
Input [7]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]
Arguments: hashpartitioning(shardId#3506645, orderProposalId#3506646L, lastModified#3506650, 37), ENSURE_REQUIREMENTS, [plan_id=1005056]
(27) ShuffleQueryStage
Output [7]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]
Arguments: 5
(28) AQEShuffleRead
Input [7]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]
Arguments: local
(29) Scan ExistingRDD [codegen id : 3]
Output [7]: [shardId#3506668, orderProposalId#3506669L, items#3506670, optimizationGroups#3506671, isOptimal#3506672, lastModified#3506673, optimizationInsights#3506674]
Arguments: [shardId#3506668, orderProposalId#3506669L, items#3506670, optimizationGroups#3506671, isOptimal#3506672, lastModified#3506673, optimizationInsights#3506674], MapPartitionsRDD[148959] at createDataFrame at OptimalQuantitiesCacheImpl.java:212, ExistingRDD, UnknownPartitioning(0)
(30) Filter [codegen id : 3]
Input [7]: [shardId#3506668, orderProposalId#3506669L, items#3506670, optimizationGroups#3506671, isOptimal#3506672, lastModified#3506673, optimizationInsights#3506674]
Condition : (isnotnull(shardId#3506668) AND isnotnull(orderProposalId#3506669L))
(31) Project [codegen id : 3]
Output [3]: [shardId#3506668, orderProposalId#3506669L, lastModified#3506673]
Input [7]: [shardId#3506668, orderProposalId#3506669L, items#3506670, optimizationGroups#3506671, isOptimal#3506672, lastModified#3506673, optimizationInsights#3506674]
(32) InMemoryTableScan
Output [2]: [shardId#3506675, orderProposalId#3506677L]
Arguments: [shardId#3506675, orderProposalId#3506677L], [isnotnull(shardId#3506675), isnotnull(orderProposalId#3506677L)]
(33) InMemoryRelation
Arguments: [shardId#3506675, worklistShardItemId#3506676L, orderProposalId#3506677L, orderProposalItemId#3506678, orderProposalItemGroupId#3506679, originalReplenishmentRunId#3506680L, orderProposalHorizonGroupingId#3506681L, splitIndicator#3506682L, previousOrderProposal#3506683L, clusterId#3506684L, sequenceId#3506685L, sourceOfSupplyUuid#3506686, supplierGroup#3506687, supplier#3506688, subrange#3506689, product#3506690, plant#3506691, purchasingOrg#3506692, purchasingGroup#3506693, mrpController#3506694, orderDateTime#3506695, deliveryDateTime#3506696, availabilityDateTime#3506697, nextAvailabilityDateTime#3506698, isFallbackOrderOnly#3506699, ... 20 more fields], StorageLevel(disk, memory, 2 replicas)
(34) TableCacheQueryStage
Output [2]: [shardId#3506675, orderProposalId#3506677L]
Arguments: 1
(35) Filter [codegen id : 2]
Input [2]: [shardId#3506675, orderProposalId#3506677L]
Condition : (isnotnull(shardId#3506675) AND isnotnull(orderProposalId#3506677L))
(36) HashAggregate [codegen id : 2]
Input [2]: [shardId#3506675, orderProposalId#3506677L]
Keys [2]: [shardId#3506675, orderProposalId#3506677L]
Functions: []
Aggregate Attributes: []
Results [2]: [shardId#3506675, orderProposalId#3506677L]
(37) Exchange
Input [2]: [shardId#3506675, orderProposalId#3506677L]
Arguments: hashpartitioning(shardId#3506675, orderProposalId#3506677L, 37), ENSURE_REQUIREMENTS, [plan_id=1004892]
(38) ShuffleQueryStage
Output [2]: [shardId#3506675, orderProposalId#3506677L]
Arguments: 3
(39) AQEShuffleRead
Input [2]: [shardId#3506675, orderProposalId#3506677L]
Arguments: coalesced
(40) HashAggregate [codegen id : 4]
Input [2]: [shardId#3506675, orderProposalId#3506677L]
Keys [2]: [shardId#3506675, orderProposalId#3506677L]
Functions: []
Aggregate Attributes: []
Results [3]: [shardId#3506675, orderProposalId#3506677L, 2026-08-31 14:12:21.449513 AS lastModified#3506772]
(41) Union
(42) HashAggregate [codegen id : 5]
Input [3]: [shardId#3506668, orderProposalId#3506669L, lastModified#3506673]
Keys [2]: [shardId#3506668, orderProposalId#3506669L]
Functions [1]: [partial_max(lastModified#3506673)]
Aggregate Attributes [1]: [max#3508142]
Results [3]: [shardId#3506668, orderProposalId#3506669L, max#3508143]
(43) Exchange
Input [3]: [shardId#3506668, orderProposalId#3506669L, max#3508143]
Arguments: hashpartitioning(shardId#3506668, orderProposalId#3506669L, 37), ENSURE_REQUIREMENTS, [plan_id=1004996]
(44) ShuffleQueryStage
Output [3]: [shardId#3506668, orderProposalId#3506669L, max#3508143]
Arguments: 4
(45) AQEShuffleRead
Input [3]: [shardId#3506668, orderProposalId#3506669L, max#3508143]
Arguments: coalesced
(46) HashAggregate [codegen id : 7]
Input [3]: [shardId#3506668, orderProposalId#3506669L, max#3508143]
Keys [2]: [shardId#3506668, orderProposalId#3506669L]
Functions [1]: [max(lastModified#3506673)]
Aggregate Attributes [1]: [max(lastModified#3506673)#3506667]
Results [3]: [shardId#3506668, orderProposalId#3506669L, max(lastModified#3506673)#3506667 AS lastModified#3506659]
(47) Filter [codegen id : 7]
Input [3]: [shardId#3506668, orderProposalId#3506669L, lastModified#3506659]
Condition : isnotnull(lastModified#3506659)
(48) BroadcastExchange
Input [3]: [shardId#3506668, orderProposalId#3506669L, lastModified#3506659]
Arguments: HashedRelationBroadcastMode(List(input[0, string, true], input[1, bigint, true], input[2, timestamp, false]),false), [plan_id=1005127]
(49) BroadcastQueryStage
Output [3]: [shardId#3506668, orderProposalId#3506669L, lastModified#3506659]
Arguments: 6
(50) BroadcastHashJoin [codegen id : 8]
Left keys [3]: [shardId#3506645, orderProposalId#3506646L, lastModified#3506650]
Right keys [3]: [shardId#3506668, orderProposalId#3506669L, lastModified#3506659]
Join type: Inner
Join condition: None
(51) Project [codegen id : 8]
Output [7]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]
Input [10]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651, shardId#3506668, orderProposalId#3506669L, lastModified#3506659]
(52) DeserializeToObject
Input [7]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]
Arguments: createexternalrow(invoke(shardId#3506645.toString()), static_invoke(java.lang.Long.valueOf(orderProposalId#3506646L)), mapobjects(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1), if (isnull(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1))) null else createexternalrow(static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).quantityAfterProdPlantOptimization)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).qty)), StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true)), items#3506647, Some(class scala.collection.mutable.ArraySeq)), mapobjects(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2))) null else createexternalrow(invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).optGroupId.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).assignmentDetails.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderProfile.toString()), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal)) null else createexternalrow(static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.minOrderValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.calculatedOrderValue)), static_invoke(java.lang.Integer.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.dimensionType)), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unit.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unitUuid.toString()), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.negligibleQuantitiesThreshold)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.acceptanceThreshold)), StructField(minOrderValue,DoubleType,true), StructField(calculatedOrderValue,DoubleType,true), StructField(dimensionType,IntegerType,true), StructField(unit,StringType,true), StructField(unitUuid,StringType,true), StructField(negligibleQuantitiesThreshold,DoubleType,true), StructField(acceptanceThreshold,DoubleType,true)), StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)), optimizationGroups#3506648, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Boolean.valueOf(isOptimal#3506649)), static_invoke(DateTimeUtils.toJavaTimestamp(lastModified#3506650)), mapobjects(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3), createexternalrow(invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).internalInsightType.toString()), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).thresholdValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).reachedValue)), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).unitOfMeasure.toString()), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).assignmentDetails.toString()), StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false)), optimizationInsights#3506651, Some(class scala.collection.mutable.ArraySeq)), StructField(shardId,StringType,true), StructField(orderProposalId,LongType,true), StructField(items,ArrayType(StructType(StructField(worklistShardItemId,LongType,true),StructField(quantityAfterProdPlantOptimization,DoubleType,true),StructField(qty,DoubleType,true)),true),true), StructField(optimizationGroups,ArrayType(StructType(StructField(optGroupId,StringType,true),StructField(assignmentDetails,StringType,true),StructField(minOrderProfile,StringType,true),StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)),true),true), StructField(isOptimal,BooleanType,true), StructField(lastModified,TimestampType,true), StructField(optimizationInsights,ArrayType(StructType(StructField(internalInsightType,StringType,false),StructField(worklistShardItemId,LongType,true),StructField(thresholdValue,DoubleType,true),StructField(reachedValue,DoubleType,true),StructField(unitOfMeasure,StringType,true),StructField(assignmentDetails,StringType,false)),false),true)), obj#3506789: org.apache.spark.sql.Row
(53) ResultQueryStage
Output [1]: [obj#3506789]
Arguments: 7
(54) Filter
Input [3]: [shardId#3502912, worklistShardItemId#3502913L, orderProposalId#3502914L]
Condition : (isnotnull(shardId#3502912) AND isnotnull(orderProposalId#3502914L))
(55) ObjectHashAggregate
Input [3]: [shardId#3502912, worklistShardItemId#3502913L, orderProposalId#3502914L]
Keys [2]: [shardId#3502912, orderProposalId#3502914L]
Functions [1]: [partial_collect_list(struct(worklistShardItemId, worklistShardItemId#3502913L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [buf#3508140]
Results [3]: [shardId#3502912, orderProposalId#3502914L, buf#3508141]
(56) Exchange
Input [3]: [shardId#3502912, orderProposalId#3502914L, buf#3508141]
Arguments: hashpartitioning(shardId#3502912, orderProposalId#3502914L, 37), ENSURE_REQUIREMENTS, [plan_id=1004685]
(57) ObjectHashAggregate
Input [3]: [shardId#3502912, orderProposalId#3502914L, buf#3508141]
Keys [2]: [shardId#3502912, orderProposalId#3502914L]
Functions [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3502913L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3502913L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3506636]
Results [7]: [shardId#3502912, orderProposalId#3502914L, cast(transform(collect_list(struct(worklistShardItemId, worklistShardItemId#3502913L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3506636, lambdafunction(struct(worklistShardItemId, lambda x_11610#3506657.worklistShardItemId, quantityAfterProdPlantOptimization, lambda x_11610#3506657.quantityAfterProdPlantOptimization, qty, lambda x_11610#3506657.optimalQuantity), lambda x_11610#3506657, false)) as array<struct<worklistShardItemId:bigint,quantityAfterProdPlantOptimization:double,qty:double>>) AS items#3506658, [] AS optimizationGroups#3506652, false AS isOptimal#3506637, 2026-08-31 14:12:21.449513 AS lastModified#3506656, [] AS optimizationInsights#3506653]
(58) Union
(59) Exchange
Input [7]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]
Arguments: hashpartitioning(shardId#3506645, orderProposalId#3506646L, lastModified#3506650, 37), ENSURE_REQUIREMENTS, [plan_id=1004698]
(60) Sort
Input [7]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]
Arguments: [shardId#3506645 ASC NULLS FIRST, orderProposalId#3506646L ASC NULLS FIRST, lastModified#3506650 ASC NULLS FIRST], false, 0
(61) Filter
Input [2]: [shardId#3506675, orderProposalId#3506677L]
Condition : (isnotnull(shardId#3506675) AND isnotnull(orderProposalId#3506677L))
(62) HashAggregate
Input [2]: [shardId#3506675, orderProposalId#3506677L]
Keys [2]: [shardId#3506675, orderProposalId#3506677L]
Functions: []
Aggregate Attributes: []
Results [2]: [shardId#3506675, orderProposalId#3506677L]
(63) Exchange
Input [2]: [shardId#3506675, orderProposalId#3506677L]
Arguments: hashpartitioning(shardId#3506675, orderProposalId#3506677L, 37), ENSURE_REQUIREMENTS, [plan_id=1004688]
(64) HashAggregate
Input [2]: [shardId#3506675, orderProposalId#3506677L]
Keys [2]: [shardId#3506675, orderProposalId#3506677L]
Functions: []
Aggregate Attributes: []
Results [3]: [shardId#3506675, orderProposalId#3506677L, 2026-08-31 14:12:21.449513 AS lastModified#3506772]
(65) Union
(66) HashAggregate
Input [3]: [shardId#3506668, orderProposalId#3506669L, lastModified#3506673]
Keys [2]: [shardId#3506668, orderProposalId#3506669L]
Functions [1]: [partial_max(lastModified#3506673)]
Aggregate Attributes [1]: [max#3508142]
Results [3]: [shardId#3506668, orderProposalId#3506669L, max#3508143]
(67) Exchange
Input [3]: [shardId#3506668, orderProposalId#3506669L, max#3508143]
Arguments: hashpartitioning(shardId#3506668, orderProposalId#3506669L, 37), ENSURE_REQUIREMENTS, [plan_id=1004693]
(68) HashAggregate
Input [3]: [shardId#3506668, orderProposalId#3506669L, max#3508143]
Keys [2]: [shardId#3506668, orderProposalId#3506669L]
Functions [1]: [max(lastModified#3506673)]
Aggregate Attributes [1]: [max(lastModified#3506673)#3506667]
Results [3]: [shardId#3506668, orderProposalId#3506669L, max(lastModified#3506673)#3506667 AS lastModified#3506659]
(69) Filter
Input [3]: [shardId#3506668, orderProposalId#3506669L, lastModified#3506659]
Condition : isnotnull(lastModified#3506659)
(70) Exchange
Input [3]: [shardId#3506668, orderProposalId#3506669L, lastModified#3506659]
Arguments: hashpartitioning(shardId#3506668, orderProposalId#3506669L, lastModified#3506659, 37), ENSURE_REQUIREMENTS, [plan_id=1004699]
(71) Sort
Input [3]: [shardId#3506668, orderProposalId#3506669L, lastModified#3506659]
Arguments: [shardId#3506668 ASC NULLS FIRST, orderProposalId#3506669L ASC NULLS FIRST, lastModified#3506659 ASC NULLS FIRST], false, 0
(72) SortMergeJoin
Left keys [3]: [shardId#3506645, orderProposalId#3506646L, lastModified#3506650]
Right keys [3]: [shardId#3506668, orderProposalId#3506669L, lastModified#3506659]
Join type: Inner
Join condition: None
(73) Project
Output [7]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]
Input [10]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651, shardId#3506668, orderProposalId#3506669L, lastModified#3506659]
(74) DeserializeToObject
Input [7]: [shardId#3506645, orderProposalId#3506646L, items#3506647, optimizationGroups#3506648, isOptimal#3506649, lastModified#3506650, optimizationInsights#3506651]
Arguments: createexternalrow(invoke(shardId#3506645.toString()), static_invoke(java.lang.Long.valueOf(orderProposalId#3506646L)), mapobjects(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1), if (isnull(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1))) null else createexternalrow(static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).quantityAfterProdPlantOptimization)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).qty)), StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true)), items#3506647, Some(class scala.collection.mutable.ArraySeq)), mapobjects(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2))) null else createexternalrow(invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).optGroupId.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).assignmentDetails.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderProfile.toString()), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal)) null else createexternalrow(static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.minOrderValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.calculatedOrderValue)), static_invoke(java.lang.Integer.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.dimensionType)), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unit.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unitUuid.toString()), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.negligibleQuantitiesThreshold)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.acceptanceThreshold)), StructField(minOrderValue,DoubleType,true), StructField(calculatedOrderValue,DoubleType,true), StructField(dimensionType,IntegerType,true), StructField(unit,StringType,true), StructField(unitUuid,StringType,true), StructField(negligibleQuantitiesThreshold,DoubleType,true), StructField(acceptanceThreshold,DoubleType,true)), StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)), optimizationGroups#3506648, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Boolean.valueOf(isOptimal#3506649)), static_invoke(DateTimeUtils.toJavaTimestamp(lastModified#3506650)), mapobjects(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3), createexternalrow(invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).internalInsightType.toString()), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).thresholdValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).reachedValue)), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).unitOfMeasure.toString()), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).assignmentDetails.toString()), StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false)), optimizationInsights#3506651, Some(class scala.collection.mutable.ArraySeq)), StructField(shardId,StringType,true), StructField(orderProposalId,LongType,true), StructField(items,ArrayType(StructType(StructField(worklistShardItemId,LongType,true),StructField(quantityAfterProdPlantOptimization,DoubleType,true),StructField(qty,DoubleType,true)),true),true), StructField(optimizationGroups,ArrayType(StructType(StructField(optGroupId,StringType,true),StructField(assignmentDetails,StringType,true),StructField(minOrderProfile,StringType,true),StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)),true),true), StructField(isOptimal,BooleanType,true), StructField(lastModified,TimestampType,true), StructField(optimizationInsights,ArrayType(StructType(StructField(internalInsightType,StringType,false),StructField(worklistShardItemId,LongType,true),StructField(thresholdValue,DoubleType,true),StructField(reachedValue,DoubleType,true),StructField(unitOfMeasure,StringType,true),StructField(assignmentDetails,StringType,false)),false),true)), obj#3506789: org.apache.spark.sql.Row
(75) AdaptiveSparkPlan
Output [1]: [obj#3506789]
Arguments: isFinalPlan=true