digraph G {
0 [id="node0" labelType="html" label="<b>CollectLimit</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>local merged bytes read: 0.0 B<br>remote reqs duration: 0 ms<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 bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="CollectLimit 1"];
1 [id="node1" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster2 {
isCluster="true";
id="cluster2";
label="WholeStageCodegen (6)\n \nduration: total (min, med, max (stageId: taskId))\n152 ms (0 ms, 13 ms, 14 ms (stage 67425.0: task 168290))";
tooltip="WholeStageCodegen (6)";
3 [id="node3" labelType="html" label="<br><b>LocalLimit</b><br><br>" tooltip="LocalLimit 1"];
4 [id="node4" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project"];
5 [id="node5" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#807160L], [worklistShardItemId#807608L], LeftOuter, BuildRight, (shardId#803008 = 0_1_10000002108), false"];
6 [id="node6" labelType="html" label="<br><b>LocalLimit</b><br><br>" tooltip="LocalLimit 1"];
7 [id="node7" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, insight#807158.worklistShardItemId AS worklistShardItemId#807160L]"];
8 [id="node8" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter NOT insight#807158.internalInsightType IN (OP_CALC_ITEM_ACCEPT_THR_NOT_MET,OP_CALC_ITEM_NEGL_THR_NOT_MET,OP_CALC_ITEM_OPT_MISSING_MD,OP_CALC_LOCKED_QUANTITY_PREVENTS_DISCARDING_INSIGHT,OP_CALC_MIN_NOT_MET)"];
9 [id="node9" labelType="html" label="<b>Generate</b><br><br>number of output rows: 113" tooltip="Generate explode(optimizationInsights#803014), [shardId#803008], false, [insight#807158]"];
10 [id="node10" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, optimizationInsights#803014]"];
11 [id="node11" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 11" tooltip="BroadcastHashJoin [orderProposalId#803009L], [orderProposalId#803721L], Inner, BuildLeft, false"];
22 [id="node22" 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>31 ms (0 ms, 2 ms, 3 ms (stage 67425.0: task 168290))<br>peak memory total (min, med, max (stageId: taskId))<br>5.0 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 67425.0: task 168290))<br>number of output rows: 59<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[orderProposalId#803721L], functions=[])"];
}
12 [id="node12" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 40 ms<br>number of output rows: 11<br>data size: 1024.5 KiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false]),false), [plan_id=317695]"];
subgraph cluster13 {
isCluster="true";
id="cluster13";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n3 ms (0 ms, 0 ms, 1 ms (stage 67361.0: task 168075))";
tooltip="WholeStageCodegen (1)";
14 [id="node14" labelType="html" label="<b>Filter</b><br><br>number of output rows: 11" tooltip="Filter ((isnotnull(orderProposalId#803009L) AND (size(optimizationInsights#803014, true) > 0)) AND isnotnull(optimizationInsights#803014))"];
}
15 [id="node15" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 59" tooltip="InMemoryTableScan [shardId#803008, orderProposalId#803009L, optimizationInsights#803014], [isnotnull(orderProposalId#803009L), (size(optimizationInsights#803014, true) > 0), isnotnull(optimizationInsights#803014)]"];
subgraph cluster16 {
isCluster="true";
id="cluster16";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
17 [id="node17" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(shardId#803008) AND (shardId#803008 = 0_1_10000002108))"];
}
18 [id="node18" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, optimizationInsights#803014], [isnotnull(shardId#803008), (shardId#803008 = 0_1_10000002108)]"];
subgraph cluster19 {
isCluster="true";
id="cluster19";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
20 [id="node20" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(shardId#803008) AND (shardId#803008 = 0_1_10000002108))"];
21 [id="node21" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#803008,orderProposalId#803009L,items#803010,optimizationGroups#803011,isOptimal#803012,lastModified#803013,optimizationInsights#803014]"];
}
23 [id="node23" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 523<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 523<br>local bytes read total (min, med, max (stageId: taskId))<br>12.5 KiB (225.0 B, 708.0 B, 937.0 B (stage 67425.0: task 168295))<br>merged fetch fallback count: 0<br>local blocks read: 153<br>remote merged chunks fetched: 0<br>remote blocks read: 153<br>data size total (min, med, max (stageId: taskId))<br>8.2 KiB (304.0 B, 416.0 B, 528.0 B (stage 67424.0: task 168238))<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>20 ms (0 ms, 1 ms, 1 ms (stage 67424.0: task 168231))<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 67425.0: task 168290))<br>remote bytes read total (min, med, max (stageId: taskId))<br>12.3 KiB (225.0 B, 675.0 B, 937.0 B (stage 67425.0: task 168301))<br>number of partitions: 20<br>remote reqs duration total (min, med, max (stageId: taskId))<br>11 ms (0 ms, 1 ms, 1 ms (stage 67425.0: task 168290))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>24.7 KiB (1041.0 B, 1257.0 B, 1515.0 B (stage 67424.0: task 168238))" tooltip="Exchange hashpartitioning(orderProposalId#803721L, 20), ENSURE_REQUIREMENTS, [plan_id=317717]"];
subgraph cluster24 {
isCluster="true";
id="cluster24";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n122 ms (3 ms, 6 ms, 9 ms (stage 67424.0: task 168229))";
tooltip="WholeStageCodegen (4)";
25 [id="node25" 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>39 ms (1 ms, 2 ms, 3 ms (stage 67424.0: task 168229))<br>peak memory total (min, med, max (stageId: taskId))<br>5.0 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 67424.0: task 168236))<br>number of output rows: 523<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[orderProposalId#803721L], functions=[])"];
26 [id="node26" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [orderProposalId#803721L]"];
27 [id="node27" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 980" tooltip="BroadcastHashJoin [worklistShardItemId#803520L], [worklistShardItemId#803744L], Inner, BuildLeft, false"];
41 [id="node41" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [worklistShardItemId#803744L, orderProposalId#803721L]"];
}
28 [id="node28" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 51 ms<br>number of output rows: 980<br>data size: 1047.0 KiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=317703]"];
subgraph cluster29 {
isCluster="true";
id="cluster29";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n0 ms (0 ms, 0 ms, 0 ms (stage 67362.0: task 168085))";
tooltip="WholeStageCodegen (2)";
30 [id="node30" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [item#803519L AS worklistShardItemId#803520L]"];
31 [id="node31" labelType="html" label="<b>Generate</b><br><br>number of output rows: 980" tooltip="Generate explode(_extract_worklistShardItemId#813939), false, [item#803519L]"];
32 [id="node32" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [items#807152.worklistShardItemId AS _extract_worklistShardItemId#813939]"];
33 [id="node33" labelType="html" label="<b>Filter</b><br><br>number of output rows: 59" tooltip="Filter (((size(items#807152.worklistShardItemId, true) > 0) AND isnotnull(items#807152.worklistShardItemId)) AND (shardId#807150 = 0_1_10000002108))"];
}
34 [id="node34" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 59" tooltip="InMemoryTableScan [items#807152, shardId#807150], [(size(items#807152.worklistShardItemId, true) > 0), isnotnull(items#807152.worklistShardItemId), (shardId#807150 = 0_1_10000002108)]"];
subgraph cluster35 {
isCluster="true";
id="cluster35";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
36 [id="node36" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(shardId#803008) AND (shardId#803008 = 0_1_10000002108))"];
}
37 [id="node37" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, optimizationInsights#803014], [isnotnull(shardId#803008), (shardId#803008 = 0_1_10000002108)]"];
subgraph cluster38 {
isCluster="true";
id="cluster38";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
39 [id="node39" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(shardId#803008) AND (shardId#803008 = 0_1_10000002108))"];
40 [id="node40" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#803008,orderProposalId#803009L,items#803010,optimizationGroups#803011,isOptimal#803012,lastModified#803013,optimizationInsights#803014]"];
}
42 [id="node42" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 980<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 980<br>local bytes read total (min, med, max (stageId: taskId))<br>23.0 KiB (871.0 B, 1148.0 B, 1468.0 B (stage 67424.0: task 168242))<br>merged fetch fallback count: 0<br>local blocks read: 221<br>remote merged chunks fetched: 0<br>remote blocks read: 217<br>data size total (min, med, max (stageId: taskId))<br>23.0 KiB (648.0 B, 960.0 B, 1152.0 B (stage 67369.0: task 168205))<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>22 ms (0 ms, 0 ms, 1 ms (stage 67369.0: task 168224))<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 67424.0: task 168236))<br>remote bytes read total (min, med, max (stageId: taskId))<br>21.6 KiB (896.0 B, 1111.0 B, 1320.0 B (stage 67424.0: task 168229))<br>number of partitions: 20<br>remote reqs duration total (min, med, max (stageId: taskId))<br>19 ms (0 ms, 1 ms, 1 ms (stage 67424.0: task 168236))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>44.6 KiB (1367.0 B, 1819.0 B, 2.1 KiB (stage 67369.0: task 168204))" tooltip="Exchange hashpartitioning(worklistShardItemId#803744L, 20), REPARTITION_BY_NUM, [plan_id=317710]"];
subgraph cluster43 {
isCluster="true";
id="cluster43";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n4.4 s (143 ms, 174 ms, 228 ms (stage 67369.0: task 168208))";
tooltip="WholeStageCodegen (3)";
44 [id="node44" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [orderProposalId#803721L, worklistShardItemId#803744L]"];
45 [id="node45" labelType="html" label="<b>Filter</b><br><br>number of output rows: 980" tooltip="Filter ((isnotnull(worklistShardItemId#803744L) AND NOT (isFallbackOrderOnly#803738 <=> true)) AND isnotnull(orderProposalId#803721L))"];
46 [id="node46" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 980<br>number of input batches: 25" tooltip="ColumnarToRow"];
}
47 [id="node47" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 25<br>scan time total (min, med, max (stageId: taskId))<br>4.3 s (141 ms, 171 ms, 225 ms (stage 67369.0: task 168208))<br>dynamic partition pruning time: 0 ms<br>metadata time: 0 ms<br>size of files read: 674.1 KiB<br>number of output rows: 980<br>number of partitions read: 1" tooltip="FileScan parquet [orderProposalId#803721L,isFallbackOrderOnly#803738,worklistShardItemId#803744L,shardId#803765,sequenceId#803743] Batched: true, DataFilters: [isnotnull(worklistShardItemId#803744L), NOT (isFallbackOrderOnly#803738 <=> true), isnotnull(ord..., Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [isnotnull(shardId#803765), isnotnull(sequenceId#803743), (shardId#803765 = 0_1_10000002108), (se..., PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderPro..., ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>"];
48 [id="node48" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 555 ms<br>number of output rows: 980<br>data size: 1047.0 KiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=317732]"];
49 [id="node49" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 980<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 980<br>local bytes read total (min, med, max (stageId: taskId))<br>18.2 KiB (719.0 B, 951.0 B, 1061.0 B (stage 67364.0: task 168201))<br>merged fetch fallback count: 0<br>local blocks read: 215<br>remote merged chunks fetched: 0<br>remote blocks read: 223<br>data size total (min, med, max (stageId: taskId))<br>15.3 KiB (432.0 B, 640.0 B, 768.0 B (stage 67363.0: task 168090))<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>21 ms (0 ms, 0 ms, 1 ms (stage 67363.0: task 168180))<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>1 ms (0 ms, 0 ms, 1 ms (stage 67364.0: task 168189))<br>remote bytes read total (min, med, max (stageId: taskId))<br>18.6 KiB (754.0 B, 965.0 B, 1132.0 B (stage 67364.0: task 168193))<br>number of partitions: 20<br>remote reqs duration total (min, med, max (stageId: taskId))<br>26 ms (0 ms, 1 ms, 2 ms (stage 67364.0: task 168184))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>36.8 KiB (1150.0 B, 1526.0 B, 1701.0 B (stage 67363.0: task 168090))" tooltip="Exchange hashpartitioning(worklistShardItemId#807608L, 20), REPARTITION_BY_NUM, [plan_id=317731]"];
subgraph cluster50 {
isCluster="true";
id="cluster50";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n3.7 s (115 ms, 146 ms, 225 ms (stage 67363.0: task 168111))";
tooltip="WholeStageCodegen (5)";
51 [id="node51" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [worklistShardItemId#807608L]"];
52 [id="node52" labelType="html" label="<b>Filter</b><br><br>number of output rows: 980" tooltip="Filter isnotnull(worklistShardItemId#807608L)"];
53 [id="node53" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 980<br>number of input batches: 25" tooltip="ColumnarToRow"];
}
54 [id="node54" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 25<br>scan time total (min, med, max (stageId: taskId))<br>3.6 s (113 ms, 142 ms, 223 ms (stage 67363.0: task 168111))<br>dynamic partition pruning time: 0 ms<br>metadata time: 0 ms<br>size of files read: 674.1 KiB<br>number of output rows: 980<br>number of partitions read: 1" tooltip="FileScan parquet [worklistShardItemId#807608L,shardId#807629,sequenceId#807607] Batched: true, DataFilters: [isnotnull(worklistShardItemId#807608L)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [isnotnull(shardId#807629), isnotnull(sequenceId#807607), (shardId#807629 = 0_1_10000002108), (se..., PushedFilters: [IsNotNull(worklistShardItemId)], ReadSchema: struct<worklistShardItemId:bigint>"];
subgraph cluster55 {
isCluster="true";
id="cluster55";
label="WholeStageCodegen (9)\n \nduration: total (min, med, max (stageId: taskId))\n482 ms (2 ms, 45 ms, 47 ms (stage 67425.0: task 168255))";
tooltip="WholeStageCodegen (9)";
56 [id="node56" labelType="html" label="<br><b>LocalLimit</b><br><br>" tooltip="LocalLimit 1"];
57 [id="node57" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project"];
}
58 [id="node58" labelType="html" label="<b>BroadcastNestedLoopJoin</b><br><br>number of output rows: 0" tooltip="BroadcastNestedLoopJoin BuildRight, Cross, ((CASE WHEN (isnull(element_at(filter(prodLocSpecificKpis#804247, lambdafunction((lambda x_2133#807641.label = OutOfStockProbability), lambda x_2133#807641, false)), 1, None, false).value) OR isnull(cast(element_at(filter(_extract_settings#813941, lambdafunction((lambda x_2134#807642.name = OOS_PROBABILITY_THRESHOLD), lambda x_2134#807642, false)), 1, None, false).value as double))) THEN false ELSE (element_at(filter(prodLocSpecificKpis#804247, lambdafunction((lambda x_2133#807643.label = OutOfStockProbability), lambda x_2133#807643, false)), 1, None, false).value >= cast(element_at(filter(_extract_settings#813941, lambdafunction((lambda x_2134#807644.name = OOS_PROBABILITY_THRESHOLD), lambda x_2134#807644, false)), 1, None, false).value as double)) END AND CASE WHEN isnull(element_at(filter(prodLocSpecificKpis#804247, lambdafunction((lambda x_2135#807645.label = InitialStockQty), lambda x_2135#807645, false)), 1, None, false).value) THEN false ELSE (element_at(filter(prodLocSpecificKpis#804247, lambdafunction((lambda x_2135#807647.label = InitialStockQty), lambda x_2135#807647, false)), 1, None, false).value > CASE WHEN cast(element_at(filter(_extract_settings#813941, lambdafunction((lambda x_2136#807648.name = CURRENT_STOCK_ABOVE_ZERO), lambda x_2136#807648, false)), 1, None, false).value as boolean) THEN 0.0 ELSE -Infinity END) END) AND CASE WHEN (CASE WHEN isnull(orderDateTime#807855) THEN true ELSE isnull((cast((unix_timestamp(orderDateTime#807855, yyyy-MM-dd HH:mm:ss, Some(UTC), false) - 1786354928) as double) / 3600.0)) END OR isnull(cast(element_at(filter(_extract_settings#813941, lambdafunction((lambda x_2137#807649.name = OFFSET_CURRENT_ORDER_DATE), lambda x_2137#807649, false)), 1, None, false).value as double))) THEN false ELSE (CASE WHEN isnull(orderDateTime#807855) THEN null ELSE (cast((unix_timestamp(orderDateTime#807855, yyyy-MM-dd HH:mm:ss, Some(UTC), false) - 1786354928) as double) / 3600.0) END >= cast(element_at(filter(_extract_settings#813941, lambdafunction((lambda x_2137#807650.name = OFFSET_CURRENT_ORDER_DATE), lambda x_2137#807650, false)), 1, None, false).value as double)) END)"];
subgraph cluster59 {
isCluster="true";
id="cluster59";
label="WholeStageCodegen (7)\n \nduration: total (min, med, max (stageId: taskId))\n899 ms (2 ms, 86 ms, 88 ms (stage 67425.0: task 168255))";
tooltip="WholeStageCodegen (7)";
60 [id="node60" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [orderDateTime#807855, prodLocSpecificKpis#804247]"];
61 [id="node61" labelType="html" label="<b>Filter</b><br><br>number of output rows: 980" tooltip="Filter NOT (isFallbackOrderOnly#807859 <=> true)"];
}
62 [id="node62" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 980" tooltip="InMemoryTableScan [isFallbackOrderOnly#807859, orderDateTime#807855, prodLocSpecificKpis#804247], [NOT (isFallbackOrderOnly#807859 <=> true)]"];
subgraph cluster63 {
isCluster="true";
id="cluster63";
label="WholeStageCodegen (15)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (15)";
64 [id="node64" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, ... 17 more fields]"];
65 [id="node65" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [shardId#803008, worklistShardItemId#803520L], [shardId#804269, worklistShardItemId#804270L], LeftOuter"];
}
subgraph cluster66 {
isCluster="true";
id="cluster66";
label="WholeStageCodegen (12)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (12)";
67 [id="node67" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, ... 16 more fields]"];
68 [id="node68" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [shardId#803008, worklistShardItemId#803520L], [shardId#804256, worklistShardItemId#804257L], LeftOuter"];
}
subgraph cluster69 {
isCluster="true";
id="cluster69";
label="WholeStageCodegen (9)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (9)";
70 [id="node70" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, ... 15 more fields]"];
71 [id="node71" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [shardId#803008, worklistShardItemId#803520L], [shardId#804240, worklistShardItemId#804241L], LeftOuter"];
}
subgraph cluster72 {
isCluster="true";
id="cluster72";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
73 [id="node73" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [shardId#803008 ASC NULLS FIRST, worklistShardItemId#803520L ASC NULLS FIRST], false, 0"];
}
74 [id="node74" 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>number of partitions: 0<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(shardId#803008, worklistShardItemId#803520L, 20), ENSURE_REQUIREMENTS, [plan_id=316032]"];
subgraph cluster75 {
isCluster="true";
id="cluster75";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
76 [id="node76" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, ... 14 more fields]"];
77 [id="node77" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#803520L], [worklistShardItemId#803744L], LeftOuter, (shardId#803008 = 0_1_10000002108)"];
}
subgraph cluster78 {
isCluster="true";
id="cluster78";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
79 [id="node79" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [worklistShardItemId#803520L ASC NULLS FIRST], false, 0"];
}
80 [id="node80" 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>number of partitions: 0<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#803520L, 20), ENSURE_REQUIREMENTS, [plan_id=316013]"];
subgraph cluster81 {
isCluster="true";
id="cluster81";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
82 [id="node82" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, item#803519.worklistShardItemId AS worklistShardItemId#803520L, item#803519.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#803521, item#803519.qty AS qty#803522]"];
83 [id="node83" labelType="html" label="<b>Generate</b><br><br>number of output rows: 0" tooltip="Generate explode(items#803010), [shardId#803008], false, [item#803519]"];
84 [id="node84" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((size(items#803010, true) > 0) AND isnotnull(items#803010))"];
}
85 [id="node85" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#803008, items#803010], [(size(items#803010, true) > 0), isnotnull(items#803010)]"];
subgraph cluster86 {
isCluster="true";
id="cluster86";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
87 [id="node87" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(shardId#803008) AND (shardId#803008 = 0_1_10000002108))"];
}
88 [id="node88" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, optimizationInsights#803014], [isnotnull(shardId#803008), (shardId#803008 = 0_1_10000002108)]"];
subgraph cluster89 {
isCluster="true";
id="cluster89";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
90 [id="node90" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(shardId#803008) AND (shardId#803008 = 0_1_10000002108))"];
91 [id="node91" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#803008,orderProposalId#803009L,items#803010,optimizationGroups#803011,isOptimal#803012,lastModified#803013,optimizationInsights#803014]"];
}
subgraph cluster92 {
isCluster="true";
id="cluster92";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
93 [id="node93" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [worklistShardItemId#803744L ASC NULLS FIRST], false, 0"];
94 [id="node94" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [worklistShardItemId#803744L, orderProposalId#803721L, orderProposalItemId#803722, orderProposalItemGroupId#803745, originalReplenishmentRunId#803763L, splitIndicator#803740L, previousOrderProposal#803741L, sourceOfSupplyUuid#803735, supplierGroup#803723, supplier#803724, subrange#803727, product#803730, plant#803725, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, isFallbackOrderOnly#803738, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, netPriceAmount#803757, netPriceCurrencyCode#803758, ... 11 more fields]"];
}
95 [id="node95" 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>number of partitions: 0<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#803744L, 20), REPARTITION_BY_NUM, [plan_id=316023]"];
subgraph cluster96 {
isCluster="true";
id="cluster96";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
97 [id="node97" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [orderProposalId#803721L, orderProposalItemId#803722, supplierGroup#803723, supplier#803724, plant#803725, deliveryDateTime#803726, subrange#803727, supplyingPlant#803728, productGroup#803729, product#803730, orderDateTime#803731, availabilityDateTime#803732, nextAvailabilityDateTime#803733, sourceOfSupplyUuid#803735, isFallbackOrderOnly#803738, splitIndicator#803740L, previousOrderProposal#803741L, worklistShardItemId#803744L, orderProposalItemGroupId#803745, externalProductId#803746, externalPlantId#803747, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, minimumOrderQuantity#803751, ... 11 more fields]"];
98 [id="node98" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter isnotnull(worklistShardItemId#803744L)"];
99 [id="node99" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 0<br>number of input batches: 0" tooltip="ColumnarToRow"];
}
100 [id="node100" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 0<br>scan time: 0 ms<br>dynamic partition pruning time: 0 ms<br>metadata time: 0 ms<br>size of files read: 0.0 B<br>number of output rows: 0<br>number of partitions read: 0" tooltip="FileScan parquet [orderProposalId#803721L,orderProposalItemId#803722,supplierGroup#803723,supplier#803724,plant#803725,deliveryDateTime#803726,subrange#803727,supplyingPlant#803728,productGroup#803729,product#803730,orderDateTime#803731,availabilityDateTime#803732,nextAvailabilityDateTime#803733,sourceOfSupplyUuid#803735,isFallbackOrderOnly#803738,splitIndicator#803740L,previousOrderProposal#803741L,worklistShardItemId#803744L,orderProposalItemGroupId#803745,externalProductId#803746,externalPlantId#803747,logisticUnits#803748,orderQuantityBaseUom#803749,orderQuantityBaseUomUuid#803750,minimumOrderQuantity#803751,... 13 more fields] Batched: true, DataFilters: [isnotnull(worklistShardItemId#803744L)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [isnotnull(shardId#803765), isnotnull(sequenceId#803743), (shardId#803765 = 0_1_10000002108), (se..., PushedFilters: [IsNotNull(worklistShardItemId)], ReadSchema: struct<orderProposalId:bigint,orderProposalItemId:string,supplierGroup:string,supplier:string,pla..."];
subgraph cluster101 {
isCluster="true";
id="cluster101";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
102 [id="node102" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [shardId#804240 ASC NULLS FIRST, worklistShardItemId#804241L ASC NULLS FIRST], false, 0"];
}
103 [id="node103" 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>number of partitions: 0<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(shardId#804240, worklistShardItemId#804241L, 20), ENSURE_REQUIREMENTS, [plan_id=316038]"];
subgraph cluster104 {
isCluster="true";
id="cluster104";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
105 [id="node105" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#804240, worklistShardItemId#804241L, coalesce(kpis#804245, []) AS prodLocSpecificKpis#804246]"];
106 [id="node106" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (((isnull(qty#804242) AND isnull(demandChannel#804243)) AND isnull(demandStream#804244)) AND (isnotnull(shardId#804240) AND isnotnull(worklistShardItemId#804241L)))"];
107 [id="node107" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#804240,worklistShardItemId#804241L,qty#804242,demandChannel#804243,demandStream#804244,kpis#804245]"];
}
subgraph cluster108 {
isCluster="true";
id="cluster108";
label="WholeStageCodegen (11)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (11)";
109 [id="node109" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [shardId#804256 ASC NULLS FIRST, worklistShardItemId#804257L ASC NULLS FIRST], false, 0"];
}
110 [id="node110" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 0<br>time in aggregation build: 0 ms<br>spill size: 0.0 B<br>number of sort fallback tasks: 0" tooltip="ObjectHashAggregate(keys=[shardId#804256, worklistShardItemId#804257L], functions=[collect_list(struct(demandChannel, demandChannel#804259, demandStream, demandStream#804260, kpis, kpis#804261), 0, 0)])"];
111 [id="node111" 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>number of partitions: 0<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(shardId#804256, worklistShardItemId#804257L, 20), ENSURE_REQUIREMENTS, [plan_id=316049]"];
112 [id="node112" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 0<br>time in aggregation build: 0 ms<br>spill size: 0.0 B<br>number of sort fallback tasks: 0" tooltip="ObjectHashAggregate(keys=[shardId#804256, worklistShardItemId#804257L], functions=[partial_collect_list(struct(demandChannel, demandChannel#804259, demandStream, demandStream#804260, kpis, kpis#804261), 0, 0)])"];
subgraph cluster113 {
isCluster="true";
id="cluster113";
label="WholeStageCodegen (10)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (10)";
114 [id="node114" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#804256, worklistShardItemId#804257L, demandChannel#804259, demandStream#804260, kpis#804261]"];
115 [id="node115" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((((isnull(qty#804258) AND isnotnull(demandChannel#804259)) AND isnotnull(demandStream#804260)) AND (size(kpis#804261, true) > 0)) AND (isnotnull(shardId#804256) AND isnotnull(worklistShardItemId#804257L)))"];
116 [id="node116" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#804256,worklistShardItemId#804257L,qty#804258,demandChannel#804259,demandStream#804260,kpis#804261]"];
}
subgraph cluster117 {
isCluster="true";
id="cluster117";
label="WholeStageCodegen (14)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (14)";
118 [id="node118" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [shardId#804269 ASC NULLS FIRST, worklistShardItemId#804270L ASC NULLS FIRST], false, 0"];
}
119 [id="node119" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 0<br>time in aggregation build: 0 ms<br>spill size: 0.0 B<br>number of sort fallback tasks: 0" tooltip="ObjectHashAggregate(keys=[shardId#804269, worklistShardItemId#804270L], functions=[collect_list(struct(qty, qty#804271, kpis, kpis#804274), 0, 0)])"];
120 [id="node120" 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>number of partitions: 0<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(shardId#804269, worklistShardItemId#804270L, 20), ENSURE_REQUIREMENTS, [plan_id=316061]"];
121 [id="node121" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 0<br>time in aggregation build: 0 ms<br>spill size: 0.0 B<br>number of sort fallback tasks: 0" tooltip="ObjectHashAggregate(keys=[shardId#804269, worklistShardItemId#804270L], functions=[partial_collect_list(struct(qty, qty#804271, kpis, kpis#804274), 0, 0)])"];
subgraph cluster122 {
isCluster="true";
id="cluster122";
label="WholeStageCodegen (13)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (13)";
123 [id="node123" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#804269, worklistShardItemId#804270L, qty#804271, kpis#804274]"];
124 [id="node124" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnotnull(qty#804271) AND isnotnull(kpis#804274)) AND (isnotnull(shardId#804269) AND isnotnull(worklistShardItemId#804270L)))"];
125 [id="node125" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#804269,worklistShardItemId#804270L,qty#804271,demandChannel#804272,demandStream#804273,kpis#804274]"];
}
126 [id="node126" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 280 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange IdentityBroadcastMode, [plan_id=317748]"];
127 [id="node127" 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>number of partitions: 20<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange RoundRobinPartitioning(20), REPARTITION_BY_NUM, [plan_id=317747]"];
subgraph cluster128 {
isCluster="true";
id="cluster128";
label="WholeStageCodegen (8)\n \nduration: 149 ms";
tooltip="WholeStageCodegen (8)";
129 [id="node129" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [insightConfigurations#807636[POTENTIAL_OOS_STOCK_PERIOD].settings AS _extract_settings#813941]"];
130 [id="node130" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(insightConfigurations#807636) AND isnotnull(insightConfigurations#807636[POTENTIAL_OOS_STOCK_PERIOD]))"];
131 [id="node131" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 1<br>number of input batches: 1" tooltip="ColumnarToRow"];
}
132 [id="node132" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 1<br>scan time: 147 ms<br>dynamic partition pruning time: 0 ms<br>metadata time: 0 ms<br>size of files read: 4.6 KiB<br>number of output rows: 1<br>number of partitions read: 1" tooltip="FileScan parquet [insightConfigurations#807636,shardId#807637] Batched: true, DataFilters: [isnotnull(insightConfigurations#807636), isnotnull(insightConfigurations#807636[POTENTIAL_OOS_ST..., Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [isnotnull(shardId#807637), (shardId#807637 = 0_1_10000002108)], PushedFilters: [IsNotNull(insightConfigurations)], ReadSchema: struct<insightConfigurations:map<string,struct<configurationVersion:string,name:string,settings:a..."];
subgraph cluster133 {
isCluster="true";
id="cluster133";
label="WholeStageCodegen (12)\n \nduration: total (min, med, max (stageId: taskId))\n414 ms (0 ms, 39 ms, 42 ms (stage 67425.0: task 168273))";
tooltip="WholeStageCodegen (12)";
134 [id="node134" labelType="html" label="<br><b>LocalLimit</b><br><br>" tooltip="LocalLimit 1"];
135 [id="node135" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project"];
}
136 [id="node136" labelType="html" label="<b>BroadcastNestedLoopJoin</b><br><br>number of output rows: 0" tooltip="BroadcastNestedLoopJoin BuildRight, Cross, CASE WHEN (isnull(element_at(filter(element_at(quantityKpis#807813, qty#807697, None, false), lambdafunction((lambda x_2139#807667.label = OutOfStockProbability), lambda x_2139#807667, false)), 1, None, false).value) OR isnull(cast(element_at(filter(_extract_settings#813943, lambdafunction((lambda x_2140#807668.name = OOS_PROBABILITY_THRESHOLD), lambda x_2140#807668, false)), 1, None, false).value as double))) THEN false ELSE (element_at(filter(element_at(quantityKpis#807813, qty#807697, None, false), lambdafunction((lambda x_2139#807669.label = OutOfStockProbability), lambda x_2139#807669, false)), 1, None, false).value >= cast(element_at(filter(_extract_settings#813943, lambdafunction((lambda x_2140#807670.name = OOS_PROBABILITY_THRESHOLD), lambda x_2140#807670, false)), 1, None, false).value as double)) END"];
subgraph cluster137 {
isCluster="true";
id="cluster137";
label="WholeStageCodegen (10)\n \nduration: total (min, med, max (stageId: taskId))\n842 ms (1 ms, 81 ms, 84 ms (stage 67425.0: task 168273))";
tooltip="WholeStageCodegen (10)";
138 [id="node138" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [qty#807697, quantityKpis#807813]"];
139 [id="node139" labelType="html" label="<b>Filter</b><br><br>number of output rows: 980" tooltip="Filter NOT (isFallbackOrderOnly#807722 <=> true)"];
}
140 [id="node140" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 980" tooltip="InMemoryTableScan [isFallbackOrderOnly#807722, qty#807697, quantityKpis#807813], [NOT (isFallbackOrderOnly#807722 <=> true)]"];
subgraph cluster141 {
isCluster="true";
id="cluster141";
label="WholeStageCodegen (15)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (15)";
142 [id="node142" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, ... 17 more fields]"];
143 [id="node143" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [shardId#803008, worklistShardItemId#803520L], [shardId#804269, worklistShardItemId#804270L], LeftOuter"];
}
subgraph cluster144 {
isCluster="true";
id="cluster144";
label="WholeStageCodegen (12)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (12)";
145 [id="node145" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, ... 16 more fields]"];
146 [id="node146" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [shardId#803008, worklistShardItemId#803520L], [shardId#804256, worklistShardItemId#804257L], LeftOuter"];
}
subgraph cluster147 {
isCluster="true";
id="cluster147";
label="WholeStageCodegen (9)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (9)";
148 [id="node148" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, ... 15 more fields]"];
149 [id="node149" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [shardId#803008, worklistShardItemId#803520L], [shardId#804240, worklistShardItemId#804241L], LeftOuter"];
}
subgraph cluster150 {
isCluster="true";
id="cluster150";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
151 [id="node151" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [shardId#803008 ASC NULLS FIRST, worklistShardItemId#803520L ASC NULLS FIRST], false, 0"];
}
152 [id="node152" 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>number of partitions: 0<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(shardId#803008, worklistShardItemId#803520L, 20), ENSURE_REQUIREMENTS, [plan_id=316032]"];
subgraph cluster153 {
isCluster="true";
id="cluster153";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
154 [id="node154" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, ... 14 more fields]"];
155 [id="node155" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#803520L], [worklistShardItemId#803744L], LeftOuter, (shardId#803008 = 0_1_10000002108)"];
}
subgraph cluster156 {
isCluster="true";
id="cluster156";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
157 [id="node157" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [worklistShardItemId#803520L ASC NULLS FIRST], false, 0"];
}
158 [id="node158" 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>number of partitions: 0<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#803520L, 20), ENSURE_REQUIREMENTS, [plan_id=316013]"];
subgraph cluster159 {
isCluster="true";
id="cluster159";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
160 [id="node160" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#803008, item#803519.worklistShardItemId AS worklistShardItemId#803520L, item#803519.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#803521, item#803519.qty AS qty#803522]"];
161 [id="node161" labelType="html" label="<b>Generate</b><br><br>number of output rows: 0" tooltip="Generate explode(items#803010), [shardId#803008], false, [item#803519]"];
162 [id="node162" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((size(items#803010, true) > 0) AND isnotnull(items#803010))"];
}
163 [id="node163" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#803008, items#803010], [(size(items#803010, true) > 0), isnotnull(items#803010)]"];
subgraph cluster164 {
isCluster="true";
id="cluster164";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
165 [id="node165" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(shardId#803008) AND (shardId#803008 = 0_1_10000002108))"];
}
166 [id="node166" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, optimizationInsights#803014], [isnotnull(shardId#803008), (shardId#803008 = 0_1_10000002108)]"];
subgraph cluster167 {
isCluster="true";
id="cluster167";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
168 [id="node168" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(shardId#803008) AND (shardId#803008 = 0_1_10000002108))"];
169 [id="node169" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#803008,orderProposalId#803009L,items#803010,optimizationGroups#803011,isOptimal#803012,lastModified#803013,optimizationInsights#803014]"];
}
subgraph cluster170 {
isCluster="true";
id="cluster170";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
171 [id="node171" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [worklistShardItemId#803744L ASC NULLS FIRST], false, 0"];
172 [id="node172" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [worklistShardItemId#803744L, orderProposalId#803721L, orderProposalItemId#803722, orderProposalItemGroupId#803745, originalReplenishmentRunId#803763L, splitIndicator#803740L, previousOrderProposal#803741L, sourceOfSupplyUuid#803735, supplierGroup#803723, supplier#803724, subrange#803727, product#803730, plant#803725, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, isFallbackOrderOnly#803738, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, netPriceAmount#803757, netPriceCurrencyCode#803758, ... 11 more fields]"];
}
173 [id="node173" 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>number of partitions: 0<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#803744L, 20), REPARTITION_BY_NUM, [plan_id=316023]"];
subgraph cluster174 {
isCluster="true";
id="cluster174";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
175 [id="node175" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [orderProposalId#803721L, orderProposalItemId#803722, supplierGroup#803723, supplier#803724, plant#803725, deliveryDateTime#803726, subrange#803727, supplyingPlant#803728, productGroup#803729, product#803730, orderDateTime#803731, availabilityDateTime#803732, nextAvailabilityDateTime#803733, sourceOfSupplyUuid#803735, isFallbackOrderOnly#803738, splitIndicator#803740L, previousOrderProposal#803741L, worklistShardItemId#803744L, orderProposalItemGroupId#803745, externalProductId#803746, externalPlantId#803747, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, minimumOrderQuantity#803751, ... 11 more fields]"];
176 [id="node176" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter isnotnull(worklistShardItemId#803744L)"];
177 [id="node177" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 0<br>number of input batches: 0" tooltip="ColumnarToRow"];
}
178 [id="node178" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 0<br>scan time: 0 ms<br>dynamic partition pruning time: 0 ms<br>metadata time: 0 ms<br>size of files read: 0.0 B<br>number of output rows: 0<br>number of partitions read: 0" tooltip="FileScan parquet [orderProposalId#803721L,orderProposalItemId#803722,supplierGroup#803723,supplier#803724,plant#803725,deliveryDateTime#803726,subrange#803727,supplyingPlant#803728,productGroup#803729,product#803730,orderDateTime#803731,availabilityDateTime#803732,nextAvailabilityDateTime#803733,sourceOfSupplyUuid#803735,isFallbackOrderOnly#803738,splitIndicator#803740L,previousOrderProposal#803741L,worklistShardItemId#803744L,orderProposalItemGroupId#803745,externalProductId#803746,externalPlantId#803747,logisticUnits#803748,orderQuantityBaseUom#803749,orderQuantityBaseUomUuid#803750,minimumOrderQuantity#803751,... 13 more fields] Batched: true, DataFilters: [isnotnull(worklistShardItemId#803744L)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [isnotnull(shardId#803765), isnotnull(sequenceId#803743), (shardId#803765 = 0_1_10000002108), (se..., PushedFilters: [IsNotNull(worklistShardItemId)], ReadSchema: struct<orderProposalId:bigint,orderProposalItemId:string,supplierGroup:string,supplier:string,pla..."];
subgraph cluster179 {
isCluster="true";
id="cluster179";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
180 [id="node180" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [shardId#804240 ASC NULLS FIRST, worklistShardItemId#804241L ASC NULLS FIRST], false, 0"];
}
181 [id="node181" 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>number of partitions: 0<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(shardId#804240, worklistShardItemId#804241L, 20), ENSURE_REQUIREMENTS, [plan_id=316038]"];
subgraph cluster182 {
isCluster="true";
id="cluster182";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
183 [id="node183" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#804240, worklistShardItemId#804241L, coalesce(kpis#804245, []) AS prodLocSpecificKpis#804246]"];
184 [id="node184" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (((isnull(qty#804242) AND isnull(demandChannel#804243)) AND isnull(demandStream#804244)) AND (isnotnull(shardId#804240) AND isnotnull(worklistShardItemId#804241L)))"];
185 [id="node185" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#804240,worklistShardItemId#804241L,qty#804242,demandChannel#804243,demandStream#804244,kpis#804245]"];
}
subgraph cluster186 {
isCluster="true";
id="cluster186";
label="WholeStageCodegen (11)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (11)";
187 [id="node187" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [shardId#804256 ASC NULLS FIRST, worklistShardItemId#804257L ASC NULLS FIRST], false, 0"];
}
188 [id="node188" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 0<br>time in aggregation build: 0 ms<br>spill size: 0.0 B<br>number of sort fallback tasks: 0" tooltip="ObjectHashAggregate(keys=[shardId#804256, worklistShardItemId#804257L], functions=[collect_list(struct(demandChannel, demandChannel#804259, demandStream, demandStream#804260, kpis, kpis#804261), 0, 0)])"];
189 [id="node189" 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>number of partitions: 0<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(shardId#804256, worklistShardItemId#804257L, 20), ENSURE_REQUIREMENTS, [plan_id=316049]"];
190 [id="node190" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 0<br>time in aggregation build: 0 ms<br>spill size: 0.0 B<br>number of sort fallback tasks: 0" tooltip="ObjectHashAggregate(keys=[shardId#804256, worklistShardItemId#804257L], functions=[partial_collect_list(struct(demandChannel, demandChannel#804259, demandStream, demandStream#804260, kpis, kpis#804261), 0, 0)])"];
subgraph cluster191 {
isCluster="true";
id="cluster191";
label="WholeStageCodegen (10)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (10)";
192 [id="node192" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#804256, worklistShardItemId#804257L, demandChannel#804259, demandStream#804260, kpis#804261]"];
193 [id="node193" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((((isnull(qty#804258) AND isnotnull(demandChannel#804259)) AND isnotnull(demandStream#804260)) AND (size(kpis#804261, true) > 0)) AND (isnotnull(shardId#804256) AND isnotnull(worklistShardItemId#804257L)))"];
194 [id="node194" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#804256,worklistShardItemId#804257L,qty#804258,demandChannel#804259,demandStream#804260,kpis#804261]"];
}
subgraph cluster195 {
isCluster="true";
id="cluster195";
label="WholeStageCodegen (14)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (14)";
196 [id="node196" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [shardId#804269 ASC NULLS FIRST, worklistShardItemId#804270L ASC NULLS FIRST], false, 0"];
}
197 [id="node197" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 0<br>time in aggregation build: 0 ms<br>spill size: 0.0 B<br>number of sort fallback tasks: 0" tooltip="ObjectHashAggregate(keys=[shardId#804269, worklistShardItemId#804270L], functions=[collect_list(struct(qty, qty#804271, kpis, kpis#804274), 0, 0)])"];
198 [id="node198" 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>number of partitions: 0<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(shardId#804269, worklistShardItemId#804270L, 20), ENSURE_REQUIREMENTS, [plan_id=316061]"];
199 [id="node199" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 0<br>time in aggregation build: 0 ms<br>spill size: 0.0 B<br>number of sort fallback tasks: 0" tooltip="ObjectHashAggregate(keys=[shardId#804269, worklistShardItemId#804270L], functions=[partial_collect_list(struct(qty, qty#804271, kpis, kpis#804274), 0, 0)])"];
subgraph cluster200 {
isCluster="true";
id="cluster200";
label="WholeStageCodegen (13)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (13)";
201 [id="node201" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#804269, worklistShardItemId#804270L, qty#804271, kpis#804274]"];
202 [id="node202" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnotnull(qty#804271) AND isnotnull(kpis#804274)) AND (isnotnull(shardId#804269) AND isnotnull(worklistShardItemId#804270L)))"];
203 [id="node203" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#804269,worklistShardItemId#804270L,qty#804271,demandChannel#804272,demandStream#804273,kpis#804274]"];
}
204 [id="node204" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 300 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange IdentityBroadcastMode, [plan_id=317764]"];
205 [id="node205" 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>number of partitions: 20<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange RoundRobinPartitioning(20), REPARTITION_BY_NUM, [plan_id=317763]"];
subgraph cluster206 {
isCluster="true";
id="cluster206";
label="WholeStageCodegen (11)\n \nduration: 143 ms";
tooltip="WholeStageCodegen (11)";
207 [id="node207" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [insightConfigurations#807818[POTENTIAL_OOS_DEMAND_PERIOD].settings AS _extract_settings#813943]"];
208 [id="node208" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(insightConfigurations#807818) AND isnotnull(insightConfigurations#807818[POTENTIAL_OOS_DEMAND_PERIOD]))"];
209 [id="node209" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 1<br>number of input batches: 1" tooltip="ColumnarToRow"];
}
210 [id="node210" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 1<br>scan time: 141 ms<br>dynamic partition pruning time: 0 ms<br>metadata time: 0 ms<br>size of files read: 4.6 KiB<br>number of output rows: 1<br>number of partitions read: 1" tooltip="FileScan parquet [insightConfigurations#807818,shardId#807819] Batched: true, DataFilters: [isnotnull(insightConfigurations#807818), isnotnull(insightConfigurations#807818[POTENTIAL_OOS_DE..., Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [isnotnull(shardId#807819), (shardId#807819 = 0_1_10000002108)], PushedFilters: [IsNotNull(insightConfigurations)], ReadSchema: struct<insightConfigurations:map<string,struct<configurationVersion:string,name:string,settings:a..."];
1->0;
3->1;
4->3;
5->4;
6->5;
7->6;
8->7;
9->8;
10->9;
11->10;
12->11;
14->12;
15->14;
17->15;
18->17;
20->18;
21->20;
22->11;
23->22;
25->23;
26->25;
27->26;
28->27;
30->28;
31->30;
32->31;
33->32;
34->33;
36->34;
37->36;
39->37;
40->39;
41->27;
42->41;
44->42;
45->44;
46->45;
47->46;
48->5;
49->48;
51->49;
52->51;
53->52;
54->53;
56->1;
57->56;
58->57;
60->58;
61->60;
62->61;
64->62;
65->64;
67->65;
68->67;
70->68;
71->70;
73->71;
74->73;
76->74;
77->76;
79->77;
80->79;
82->80;
83->82;
84->83;
85->84;
87->85;
88->87;
90->88;
91->90;
93->77;
94->93;
95->94;
97->95;
98->97;
99->98;
100->99;
102->71;
103->102;
105->103;
106->105;
107->106;
109->68;
110->109;
111->110;
112->111;
114->112;
115->114;
116->115;
118->65;
119->118;
120->119;
121->120;
123->121;
124->123;
125->124;
126->58;
127->126;
129->127;
130->129;
131->130;
132->131;
134->1;
135->134;
136->135;
138->136;
139->138;
140->139;
142->140;
143->142;
145->143;
146->145;
148->146;
149->148;
151->149;
152->151;
154->152;
155->154;
157->155;
158->157;
160->158;
161->160;
162->161;
163->162;
165->163;
166->165;
168->166;
169->168;
171->155;
172->171;
173->172;
175->173;
176->175;
177->176;
178->177;
180->149;
181->180;
183->181;
184->183;
185->184;
187->146;
188->187;
189->188;
190->189;
192->190;
193->192;
194->193;
196->143;
197->196;
198->197;
199->198;
201->199;
202->201;
203->202;
204->136;
205->204;
207->205;
208->207;
209->208;
210->209;
}
== Physical Plan ==
CollectLimit (113)
+- Union (112)
:- * LocalLimit (42)
: +- * Project (41)
: +- * BroadcastHashJoin LeftOuter BuildRight (40)
: :- * LocalLimit (33)
: : +- * Project (32)
: : +- * Filter (31)
: : +- * Generate (30)
: : +- * Project (29)
: : +- * BroadcastHashJoin Inner BuildLeft (28)
: : :- BroadcastExchange (9)
: : : +- * Filter (8)
: : : +- InMemoryTableScan (1)
: : : +- InMemoryRelation (2)
: : : +- * Filter (7)
: : : +- InMemoryTableScan (3)
: : : +- InMemoryRelation (4)
: : : +- * Filter (6)
: : : +- * Scan ExistingRDD (5)
: : +- * HashAggregate (27)
: : +- Exchange (26)
: : +- * HashAggregate (25)
: : +- * Project (24)
: : +- * BroadcastHashJoin Inner BuildLeft (23)
: : :- BroadcastExchange (16)
: : : +- * Project (15)
: : : +- * Generate (14)
: : : +- * Project (13)
: : : +- * Filter (12)
: : : +- InMemoryTableScan (10)
: : : +- InMemoryRelation (11)
: : : +- * Filter (7)
: : : +- InMemoryTableScan (3)
: : : +- InMemoryRelation (4)
: : : +- * Filter (6)
: : : +- * Scan ExistingRDD (5)
: : +- * Project (22)
: : +- Exchange (21)
: : +- * Project (20)
: : +- * Filter (19)
: : +- * ColumnarToRow (18)
: : +- Scan parquet (17)
: +- BroadcastExchange (39)
: +- Exchange (38)
: +- * Project (37)
: +- * Filter (36)
: +- * ColumnarToRow (35)
: +- Scan parquet (34)
:- * LocalLimit (98)
: +- * Project (97)
: +- BroadcastNestedLoopJoin Cross BuildRight (96)
: :- * Project (89)
: : +- * Filter (88)
: : +- InMemoryTableScan (43)
: : +- InMemoryRelation (44)
: : +- * Project (87)
: : +- * SortMergeJoin LeftOuter (86)
: : :- * Project (78)
: : : +- * SortMergeJoin LeftOuter (77)
: : : :- * Project (69)
: : : : +- * SortMergeJoin LeftOuter (68)
: : : : :- * Sort (62)
: : : : : +- Exchange (61)
: : : : : +- * Project (60)
: : : : : +- * SortMergeJoin LeftOuter (59)
: : : : : :- * Sort (51)
: : : : : : +- Exchange (50)
: : : : : : +- * Project (49)
: : : : : : +- * Generate (48)
: : : : : : +- * Filter (47)
: : : : : : +- InMemoryTableScan (45)
: : : : : : +- InMemoryRelation (46)
: : : : : : +- * Filter (7)
: : : : : : +- InMemoryTableScan (3)
: : : : : : +- InMemoryRelation (4)
: : : : : : +- * Filter (6)
: : : : : : +- * Scan ExistingRDD (5)
: : : : : +- * Sort (58)
: : : : : +- * Project (57)
: : : : : +- Exchange (56)
: : : : : +- * Project (55)
: : : : : +- * Filter (54)
: : : : : +- * ColumnarToRow (53)
: : : : : +- Scan parquet (52)
: : : : +- * Sort (67)
: : : : +- Exchange (66)
: : : : +- * Project (65)
: : : : +- * Filter (64)
: : : : +- * Scan ExistingRDD (63)
: : : +- * Sort (76)
: : : +- ObjectHashAggregate (75)
: : : +- Exchange (74)
: : : +- ObjectHashAggregate (73)
: : : +- * Project (72)
: : : +- * Filter (71)
: : : +- * Scan ExistingRDD (70)
: : +- * Sort (85)
: : +- ObjectHashAggregate (84)
: : +- Exchange (83)
: : +- ObjectHashAggregate (82)
: : +- * Project (81)
: : +- * Filter (80)
: : +- * Scan ExistingRDD (79)
: +- BroadcastExchange (95)
: +- Exchange (94)
: +- * Project (93)
: +- * Filter (92)
: +- * ColumnarToRow (91)
: +- Scan parquet (90)
+- * LocalLimit (111)
+- * Project (110)
+- BroadcastNestedLoopJoin Cross BuildRight (109)
:- * Project (102)
: +- * Filter (101)
: +- InMemoryTableScan (99)
: +- InMemoryRelation (100)
: +- * Project (87)
: +- * SortMergeJoin LeftOuter (86)
: :- * Project (78)
: : +- * SortMergeJoin LeftOuter (77)
: : :- * Project (69)
: : : +- * SortMergeJoin LeftOuter (68)
: : : :- * Sort (62)
: : : : +- Exchange (61)
: : : : +- * Project (60)
: : : : +- * SortMergeJoin LeftOuter (59)
: : : : :- * Sort (51)
: : : : : +- Exchange (50)
: : : : : +- * Project (49)
: : : : : +- * Generate (48)
: : : : : +- * Filter (47)
: : : : : +- InMemoryTableScan (45)
: : : : : +- InMemoryRelation (46)
: : : : : +- * Filter (7)
: : : : : +- InMemoryTableScan (3)
: : : : : +- InMemoryRelation (4)
: : : : : +- * Filter (6)
: : : : : +- * Scan ExistingRDD (5)
: : : : +- * Sort (58)
: : : : +- * Project (57)
: : : : +- Exchange (56)
: : : : +- * Project (55)
: : : : +- * Filter (54)
: : : : +- * ColumnarToRow (53)
: : : : +- Scan parquet (52)
: : : +- * Sort (67)
: : : +- Exchange (66)
: : : +- * Project (65)
: : : +- * Filter (64)
: : : +- * Scan ExistingRDD (63)
: : +- * Sort (76)
: : +- ObjectHashAggregate (75)
: : +- Exchange (74)
: : +- ObjectHashAggregate (73)
: : +- * Project (72)
: : +- * Filter (71)
: : +- * Scan ExistingRDD (70)
: +- * Sort (85)
: +- ObjectHashAggregate (84)
: +- Exchange (83)
: +- ObjectHashAggregate (82)
: +- * Project (81)
: +- * Filter (80)
: +- * Scan ExistingRDD (79)
+- BroadcastExchange (108)
+- Exchange (107)
+- * Project (106)
+- * Filter (105)
+- * ColumnarToRow (104)
+- Scan parquet (103)
(1) InMemoryTableScan
Output [3]: [shardId#803008, orderProposalId#803009L, optimizationInsights#803014]
Arguments: [shardId#803008, orderProposalId#803009L, optimizationInsights#803014], [isnotnull(orderProposalId#803009L), (size(optimizationInsights#803014, true) > 0), isnotnull(optimizationInsights#803014)]
(2) InMemoryRelation
Arguments: [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, optimizationInsights#803014], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [6]: [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, optimizationInsights#803014]
Arguments: [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, optimizationInsights#803014], [isnotnull(shardId#803008), (shardId#803008 = 0_1_10000002108)]
(4) InMemoryRelation
Arguments: [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, lastModified#803013, optimizationInsights#803014], StorageLevel(disk, memory, 2 replicas)
(5) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, lastModified#803013, optimizationInsights#803014]
Arguments: [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, lastModified#803013, optimizationInsights#803014], MapPartitionsRDD[37720] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(6) Filter [codegen id : 1]
Input [7]: [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, lastModified#803013, optimizationInsights#803014]
Condition : (isnotnull(shardId#803008) AND (shardId#803008 = 0_1_10000002108))
(7) Filter [codegen id : 1]
Input [6]: [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, optimizationInsights#803014]
Condition : (isnotnull(shardId#803008) AND (shardId#803008 = 0_1_10000002108))
(8) Filter [codegen id : 1]
Input [3]: [shardId#803008, orderProposalId#803009L, optimizationInsights#803014]
Condition : ((isnotnull(orderProposalId#803009L) AND (size(optimizationInsights#803014, true) > 0)) AND isnotnull(optimizationInsights#803014))
(9) BroadcastExchange
Input [3]: [shardId#803008, orderProposalId#803009L, optimizationInsights#803014]
Arguments: HashedRelationBroadcastMode(List(input[1, bigint, false]),false), [plan_id=317695]
(10) InMemoryTableScan
Output [2]: [items#807152, shardId#807150]
Arguments: [items#807152, shardId#807150], [(size(items#807152.worklistShardItemId, true) > 0), isnotnull(items#807152.worklistShardItemId), (shardId#807150 = 0_1_10000002108)]
(11) InMemoryRelation
Arguments: [shardId#807150, orderProposalId#807151L, items#807152, optimizationGroups#807153, isOptimal#807154, optimizationInsights#807156], StorageLevel(disk, memory, 2 replicas)
(12) Filter [codegen id : 2]
Input [2]: [items#807152, shardId#807150]
Condition : (((size(items#807152.worklistShardItemId, true) > 0) AND isnotnull(items#807152.worklistShardItemId)) AND (shardId#807150 = 0_1_10000002108))
(13) Project [codegen id : 2]
Output [1]: [items#807152.worklistShardItemId AS _extract_worklistShardItemId#813939]
Input [2]: [items#807152, shardId#807150]
(14) Generate [codegen id : 2]
Input [1]: [_extract_worklistShardItemId#813939]
Arguments: explode(_extract_worklistShardItemId#813939), false, [item#803519L]
(15) Project [codegen id : 2]
Output [1]: [item#803519L AS worklistShardItemId#803520L]
Input [1]: [item#803519L]
(16) BroadcastExchange
Input [1]: [worklistShardItemId#803520L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=317703]
(17) Scan parquet
Output [5]: [orderProposalId#803721L, isFallbackOrderOnly#803738, worklistShardItemId#803744L, shardId#803765, sequenceId#803743]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000002108]
PartitionFilters: [isnotnull(shardId#803765), isnotnull(sequenceId#803743), (shardId#803765 = 0_1_10000002108), (sequenceId#803743 = 2)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(18) ColumnarToRow [codegen id : 3]
Input [5]: [orderProposalId#803721L, isFallbackOrderOnly#803738, worklistShardItemId#803744L, shardId#803765, sequenceId#803743]
(19) Filter [codegen id : 3]
Input [5]: [orderProposalId#803721L, isFallbackOrderOnly#803738, worklistShardItemId#803744L, shardId#803765, sequenceId#803743]
Condition : ((isnotnull(worklistShardItemId#803744L) AND NOT (isFallbackOrderOnly#803738 <=> true)) AND isnotnull(orderProposalId#803721L))
(20) Project [codegen id : 3]
Output [2]: [orderProposalId#803721L, worklistShardItemId#803744L]
Input [5]: [orderProposalId#803721L, isFallbackOrderOnly#803738, worklistShardItemId#803744L, shardId#803765, sequenceId#803743]
(21) Exchange
Input [2]: [orderProposalId#803721L, worklistShardItemId#803744L]
Arguments: hashpartitioning(worklistShardItemId#803744L, 20), REPARTITION_BY_NUM, [plan_id=317710]
(22) Project
Output [2]: [worklistShardItemId#803744L, orderProposalId#803721L]
Input [2]: [orderProposalId#803721L, worklistShardItemId#803744L]
(23) BroadcastHashJoin [codegen id : 4]
Left keys [1]: [worklistShardItemId#803520L]
Right keys [1]: [worklistShardItemId#803744L]
Join type: Inner
Join condition: None
(24) Project [codegen id : 4]
Output [1]: [orderProposalId#803721L]
Input [3]: [worklistShardItemId#803520L, worklistShardItemId#803744L, orderProposalId#803721L]
(25) HashAggregate [codegen id : 4]
Input [1]: [orderProposalId#803721L]
Keys [1]: [orderProposalId#803721L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#803721L]
(26) Exchange
Input [1]: [orderProposalId#803721L]
Arguments: hashpartitioning(orderProposalId#803721L, 20), ENSURE_REQUIREMENTS, [plan_id=317717]
(27) HashAggregate
Input [1]: [orderProposalId#803721L]
Keys [1]: [orderProposalId#803721L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#803721L]
(28) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [orderProposalId#803009L]
Right keys [1]: [orderProposalId#803721L]
Join type: Inner
Join condition: None
(29) Project [codegen id : 6]
Output [2]: [shardId#803008, optimizationInsights#803014]
Input [4]: [shardId#803008, orderProposalId#803009L, optimizationInsights#803014, orderProposalId#803721L]
(30) Generate [codegen id : 6]
Input [2]: [shardId#803008, optimizationInsights#803014]
Arguments: explode(optimizationInsights#803014), [shardId#803008], false, [insight#807158]
(31) Filter [codegen id : 6]
Input [2]: [shardId#803008, insight#807158]
Condition : NOT insight#807158.internalInsightType IN (OP_CALC_ITEM_ACCEPT_THR_NOT_MET,OP_CALC_ITEM_NEGL_THR_NOT_MET,OP_CALC_ITEM_OPT_MISSING_MD,OP_CALC_LOCKED_QUANTITY_PREVENTS_DISCARDING_INSIGHT,OP_CALC_MIN_NOT_MET)
(32) Project [codegen id : 6]
Output [2]: [shardId#803008, insight#807158.worklistShardItemId AS worklistShardItemId#807160L]
Input [2]: [shardId#803008, insight#807158]
(33) LocalLimit [codegen id : 6]
Input [2]: [shardId#803008, worklistShardItemId#807160L]
Arguments: 1
(34) Scan parquet
Output [3]: [worklistShardItemId#807608L, shardId#807629, sequenceId#807607]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000002108]
PartitionFilters: [isnotnull(shardId#807629), isnotnull(sequenceId#807607), (shardId#807629 = 0_1_10000002108), (sequenceId#807607 = 2)]
PushedFilters: [IsNotNull(worklistShardItemId)]
ReadSchema: struct<worklistShardItemId:bigint>
(35) ColumnarToRow [codegen id : 5]
Input [3]: [worklistShardItemId#807608L, shardId#807629, sequenceId#807607]
(36) Filter [codegen id : 5]
Input [3]: [worklistShardItemId#807608L, shardId#807629, sequenceId#807607]
Condition : isnotnull(worklistShardItemId#807608L)
(37) Project [codegen id : 5]
Output [1]: [worklistShardItemId#807608L]
Input [3]: [worklistShardItemId#807608L, shardId#807629, sequenceId#807607]
(38) Exchange
Input [1]: [worklistShardItemId#807608L]
Arguments: hashpartitioning(worklistShardItemId#807608L, 20), REPARTITION_BY_NUM, [plan_id=317731]
(39) BroadcastExchange
Input [1]: [worklistShardItemId#807608L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=317732]
(40) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [worklistShardItemId#807160L]
Right keys [1]: [worklistShardItemId#807608L]
Join type: LeftOuter
Join condition: (shardId#803008 = 0_1_10000002108)
(41) Project [codegen id : 6]
Output: []
Input [3]: [shardId#803008, worklistShardItemId#807160L, worklistShardItemId#807608L]
(42) LocalLimit [codegen id : 6]
Input: []
Arguments: 1
(43) InMemoryTableScan
Output [3]: [isFallbackOrderOnly#807859, orderDateTime#807855, prodLocSpecificKpis#804247]
Arguments: [isFallbackOrderOnly#807859, orderDateTime#807855, prodLocSpecificKpis#804247], [NOT (isFallbackOrderOnly#807859 <=> true)]
(44) InMemoryRelation
Arguments: [shardId#807824, worklistShardItemId#807832L, quantityAfterProdPlantOptimization#807833, qty#807834, orderProposalId#807837L, originalReplenishmentRunId#807840L, supplierGroup#807847, supplier#807848, supplyingPlant#807878, productGroup#807879, product#807850, plant#807851, subrange#807849, orderDateTime#807855, deliveryDateTime#807856, availabilityDateTime#807857, nextAvailabilityDateTime#807858, constraintValues#807872, constraintOperators#807870, constraintLabels#807869, logisticUnits#807874, orderQuantityBaseUom#807860, orderQuantityBaseUomUuid#807861, splitIndicator#807842L, netPriceAmount#807865, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(45) InMemoryTableScan
Output [2]: [shardId#803008, items#803010]
Arguments: [shardId#803008, items#803010], [(size(items#803010, true) > 0), isnotnull(items#803010)]
(46) InMemoryRelation
Arguments: [shardId#803008, orderProposalId#803009L, items#803010, optimizationGroups#803011, isOptimal#803012, optimizationInsights#803014], StorageLevel(disk, memory, 2 replicas)
(47) Filter [codegen id : 1]
Input [2]: [shardId#803008, items#803010]
Condition : ((size(items#803010, true) > 0) AND isnotnull(items#803010))
(48) Generate [codegen id : 1]
Input [2]: [shardId#803008, items#803010]
Arguments: explode(items#803010), [shardId#803008], false, [item#803519]
(49) Project [codegen id : 1]
Output [4]: [shardId#803008, item#803519.worklistShardItemId AS worklistShardItemId#803520L, item#803519.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#803521, item#803519.qty AS qty#803522]
Input [2]: [shardId#803008, item#803519]
(50) Exchange
Input [4]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522]
Arguments: hashpartitioning(worklistShardItemId#803520L, 20), ENSURE_REQUIREMENTS, [plan_id=316013]
(51) Sort [codegen id : 2]
Input [4]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522]
Arguments: [worklistShardItemId#803520L ASC NULLS FIRST], false, 0
(52) Scan parquet
Output [38]: [orderProposalId#803721L, orderProposalItemId#803722, supplierGroup#803723, supplier#803724, plant#803725, deliveryDateTime#803726, subrange#803727, supplyingPlant#803728, productGroup#803729, product#803730, orderDateTime#803731, availabilityDateTime#803732, nextAvailabilityDateTime#803733, sourceOfSupplyUuid#803735, isFallbackOrderOnly#803738, splitIndicator#803740L, previousOrderProposal#803741L, worklistShardItemId#803744L, orderProposalItemGroupId#803745, externalProductId#803746, externalPlantId#803747, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, minimumOrderQuantity#803751, constraintLabels#803752, constraintOperators#803753, constraintValues#803754, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, measurements#803762, originalReplenishmentRunId#803763L, optimizationGroups#803764, shardId#803765, sequenceId#803743]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000002108]
PartitionFilters: [isnotnull(shardId#803765), isnotnull(sequenceId#803743), (shardId#803765 = 0_1_10000002108), (sequenceId#803743 = 2)]
PushedFilters: [IsNotNull(worklistShardItemId)]
ReadSchema: struct<orderProposalId:bigint,orderProposalItemId:string,supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:string,supplyingPlant:string,productGroup:string,product:string,orderDateTime:timestamp,availabilityDateTime:timestamp,nextAvailabilityDateTime:timestamp,sourceOfSupplyUuid:string,isFallbackOrderOnly:boolean,splitIndicator:bigint,previousOrderProposal:bigint,worklistShardItemId:bigint,orderProposalItemGroupId:string,externalProductId:string,externalPlantId:string,logisticUnits:array<struct<uom:string,uomUuid:string,numerator:int,denominator:int,isOrderUnit:boolean,isPreferred:boolean>>,orderQuantityBaseUom:string,orderQuantityBaseUomUuid:string,minimumOrderQuantity:double,constraintLabels:array<string>,constraintOperators:array<string>,constraintValues:array<double>,netPriceAmount:double,netPriceCurrencyCode:string,netPriceQuantity:double,netPriceQuantityUom:string,netPriceQuantityUomUuid:string,measurements:array<struct<value:double,dimensionType:int,dimensionCode:string,dimensionCodeUuid:string,isoCode:string>>,originalReplenishmentRunId:bigint,optimizationGroups:array<string>>
(53) ColumnarToRow [codegen id : 3]
Input [38]: [orderProposalId#803721L, orderProposalItemId#803722, supplierGroup#803723, supplier#803724, plant#803725, deliveryDateTime#803726, subrange#803727, supplyingPlant#803728, productGroup#803729, product#803730, orderDateTime#803731, availabilityDateTime#803732, nextAvailabilityDateTime#803733, sourceOfSupplyUuid#803735, isFallbackOrderOnly#803738, splitIndicator#803740L, previousOrderProposal#803741L, worklistShardItemId#803744L, orderProposalItemGroupId#803745, externalProductId#803746, externalPlantId#803747, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, minimumOrderQuantity#803751, constraintLabels#803752, constraintOperators#803753, constraintValues#803754, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, measurements#803762, originalReplenishmentRunId#803763L, optimizationGroups#803764, shardId#803765, sequenceId#803743]
(54) Filter [codegen id : 3]
Input [38]: [orderProposalId#803721L, orderProposalItemId#803722, supplierGroup#803723, supplier#803724, plant#803725, deliveryDateTime#803726, subrange#803727, supplyingPlant#803728, productGroup#803729, product#803730, orderDateTime#803731, availabilityDateTime#803732, nextAvailabilityDateTime#803733, sourceOfSupplyUuid#803735, isFallbackOrderOnly#803738, splitIndicator#803740L, previousOrderProposal#803741L, worklistShardItemId#803744L, orderProposalItemGroupId#803745, externalProductId#803746, externalPlantId#803747, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, minimumOrderQuantity#803751, constraintLabels#803752, constraintOperators#803753, constraintValues#803754, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, measurements#803762, originalReplenishmentRunId#803763L, optimizationGroups#803764, shardId#803765, sequenceId#803743]
Condition : isnotnull(worklistShardItemId#803744L)
(55) Project [codegen id : 3]
Output [36]: [orderProposalId#803721L, orderProposalItemId#803722, supplierGroup#803723, supplier#803724, plant#803725, deliveryDateTime#803726, subrange#803727, supplyingPlant#803728, productGroup#803729, product#803730, orderDateTime#803731, availabilityDateTime#803732, nextAvailabilityDateTime#803733, sourceOfSupplyUuid#803735, isFallbackOrderOnly#803738, splitIndicator#803740L, previousOrderProposal#803741L, worklistShardItemId#803744L, orderProposalItemGroupId#803745, externalProductId#803746, externalPlantId#803747, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, minimumOrderQuantity#803751, constraintLabels#803752, constraintOperators#803753, constraintValues#803754, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, measurements#803762, originalReplenishmentRunId#803763L, optimizationGroups#803764]
Input [38]: [orderProposalId#803721L, orderProposalItemId#803722, supplierGroup#803723, supplier#803724, plant#803725, deliveryDateTime#803726, subrange#803727, supplyingPlant#803728, productGroup#803729, product#803730, orderDateTime#803731, availabilityDateTime#803732, nextAvailabilityDateTime#803733, sourceOfSupplyUuid#803735, isFallbackOrderOnly#803738, splitIndicator#803740L, previousOrderProposal#803741L, worklistShardItemId#803744L, orderProposalItemGroupId#803745, externalProductId#803746, externalPlantId#803747, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, minimumOrderQuantity#803751, constraintLabels#803752, constraintOperators#803753, constraintValues#803754, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, measurements#803762, originalReplenishmentRunId#803763L, optimizationGroups#803764, shardId#803765, sequenceId#803743]
(56) Exchange
Input [36]: [orderProposalId#803721L, orderProposalItemId#803722, supplierGroup#803723, supplier#803724, plant#803725, deliveryDateTime#803726, subrange#803727, supplyingPlant#803728, productGroup#803729, product#803730, orderDateTime#803731, availabilityDateTime#803732, nextAvailabilityDateTime#803733, sourceOfSupplyUuid#803735, isFallbackOrderOnly#803738, splitIndicator#803740L, previousOrderProposal#803741L, worklistShardItemId#803744L, orderProposalItemGroupId#803745, externalProductId#803746, externalPlantId#803747, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, minimumOrderQuantity#803751, constraintLabels#803752, constraintOperators#803753, constraintValues#803754, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, measurements#803762, originalReplenishmentRunId#803763L, optimizationGroups#803764]
Arguments: hashpartitioning(worklistShardItemId#803744L, 20), REPARTITION_BY_NUM, [plan_id=316023]
(57) Project [codegen id : 4]
Output [36]: [worklistShardItemId#803744L, orderProposalId#803721L, orderProposalItemId#803722, orderProposalItemGroupId#803745, originalReplenishmentRunId#803763L, splitIndicator#803740L, previousOrderProposal#803741L, sourceOfSupplyUuid#803735, supplierGroup#803723, supplier#803724, subrange#803727, product#803730, plant#803725, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, isFallbackOrderOnly#803738, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, netPriceAmount#803757, netPriceCurrencyCode#803758, measurements#803762, minimumOrderQuantity#803751, constraintLabels#803752, constraintOperators#803753, constraintValues#803754, logisticUnits#803748, optimizationGroups#803764, externalProductId#803746, externalPlantId#803747, supplyingPlant#803728, productGroup#803729]
Input [36]: [orderProposalId#803721L, orderProposalItemId#803722, supplierGroup#803723, supplier#803724, plant#803725, deliveryDateTime#803726, subrange#803727, supplyingPlant#803728, productGroup#803729, product#803730, orderDateTime#803731, availabilityDateTime#803732, nextAvailabilityDateTime#803733, sourceOfSupplyUuid#803735, isFallbackOrderOnly#803738, splitIndicator#803740L, previousOrderProposal#803741L, worklistShardItemId#803744L, orderProposalItemGroupId#803745, externalProductId#803746, externalPlantId#803747, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, minimumOrderQuantity#803751, constraintLabels#803752, constraintOperators#803753, constraintValues#803754, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, measurements#803762, originalReplenishmentRunId#803763L, optimizationGroups#803764]
(58) Sort [codegen id : 4]
Input [36]: [worklistShardItemId#803744L, orderProposalId#803721L, orderProposalItemId#803722, orderProposalItemGroupId#803745, originalReplenishmentRunId#803763L, splitIndicator#803740L, previousOrderProposal#803741L, sourceOfSupplyUuid#803735, supplierGroup#803723, supplier#803724, subrange#803727, product#803730, plant#803725, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, isFallbackOrderOnly#803738, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, netPriceAmount#803757, netPriceCurrencyCode#803758, measurements#803762, minimumOrderQuantity#803751, constraintLabels#803752, constraintOperators#803753, constraintValues#803754, logisticUnits#803748, optimizationGroups#803764, externalProductId#803746, externalPlantId#803747, supplyingPlant#803728, productGroup#803729]
Arguments: [worklistShardItemId#803744L ASC NULLS FIRST], false, 0
(59) SortMergeJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#803520L]
Right keys [1]: [worklistShardItemId#803744L]
Join type: LeftOuter
Join condition: (shardId#803008 = 0_1_10000002108)
(60) Project [codegen id : 5]
Output [39]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, sourceOfSupplyUuid#803735, minimumOrderQuantity#803751, orderProposalItemId#803722, orderProposalItemGroupId#803745, optimizationGroups#803764, measurements#803762, externalProductId#803746, externalPlantId#803747, previousOrderProposal#803741L, isFallbackOrderOnly#803738]
Input [40]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, worklistShardItemId#803744L, orderProposalId#803721L, orderProposalItemId#803722, orderProposalItemGroupId#803745, originalReplenishmentRunId#803763L, splitIndicator#803740L, previousOrderProposal#803741L, sourceOfSupplyUuid#803735, supplierGroup#803723, supplier#803724, subrange#803727, product#803730, plant#803725, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, isFallbackOrderOnly#803738, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, netPriceAmount#803757, netPriceCurrencyCode#803758, measurements#803762, minimumOrderQuantity#803751, constraintLabels#803752, constraintOperators#803753, constraintValues#803754, logisticUnits#803748, optimizationGroups#803764, externalProductId#803746, externalPlantId#803747, supplyingPlant#803728, productGroup#803729]
(61) Exchange
Input [39]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, sourceOfSupplyUuid#803735, minimumOrderQuantity#803751, orderProposalItemId#803722, orderProposalItemGroupId#803745, optimizationGroups#803764, measurements#803762, externalProductId#803746, externalPlantId#803747, previousOrderProposal#803741L, isFallbackOrderOnly#803738]
Arguments: hashpartitioning(shardId#803008, worklistShardItemId#803520L, 20), ENSURE_REQUIREMENTS, [plan_id=316032]
(62) Sort [codegen id : 6]
Input [39]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, sourceOfSupplyUuid#803735, minimumOrderQuantity#803751, orderProposalItemId#803722, orderProposalItemGroupId#803745, optimizationGroups#803764, measurements#803762, externalProductId#803746, externalPlantId#803747, previousOrderProposal#803741L, isFallbackOrderOnly#803738]
Arguments: [shardId#803008 ASC NULLS FIRST, worklistShardItemId#803520L ASC NULLS FIRST], false, 0
(63) Scan ExistingRDD [codegen id : 7]
Output [6]: [shardId#804240, worklistShardItemId#804241L, qty#804242, demandChannel#804243, demandStream#804244, kpis#804245]
Arguments: [shardId#804240, worklistShardItemId#804241L, qty#804242, demandChannel#804243, demandStream#804244, kpis#804245], MapPartitionsRDD[37780] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(64) Filter [codegen id : 7]
Input [6]: [shardId#804240, worklistShardItemId#804241L, qty#804242, demandChannel#804243, demandStream#804244, kpis#804245]
Condition : (((isnull(qty#804242) AND isnull(demandChannel#804243)) AND isnull(demandStream#804244)) AND (isnotnull(shardId#804240) AND isnotnull(worklistShardItemId#804241L)))
(65) Project [codegen id : 7]
Output [3]: [shardId#804240, worklistShardItemId#804241L, coalesce(kpis#804245, []) AS prodLocSpecificKpis#804246]
Input [6]: [shardId#804240, worklistShardItemId#804241L, qty#804242, demandChannel#804243, demandStream#804244, kpis#804245]
(66) Exchange
Input [3]: [shardId#804240, worklistShardItemId#804241L, prodLocSpecificKpis#804246]
Arguments: hashpartitioning(shardId#804240, worklistShardItemId#804241L, 20), ENSURE_REQUIREMENTS, [plan_id=316038]
(67) Sort [codegen id : 8]
Input [3]: [shardId#804240, worklistShardItemId#804241L, prodLocSpecificKpis#804246]
Arguments: [shardId#804240 ASC NULLS FIRST, worklistShardItemId#804241L ASC NULLS FIRST], false, 0
(68) SortMergeJoin [codegen id : 9]
Left keys [2]: [shardId#803008, worklistShardItemId#803520L]
Right keys [2]: [shardId#804240, worklistShardItemId#804241L]
Join type: LeftOuter
Join condition: None
(69) Project [codegen id : 9]
Output [40]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, sourceOfSupplyUuid#803735, minimumOrderQuantity#803751, orderProposalItemId#803722, orderProposalItemGroupId#803745, optimizationGroups#803764, measurements#803762, externalProductId#803746, externalPlantId#803747, previousOrderProposal#803741L, isFallbackOrderOnly#803738, coalesce(prodLocSpecificKpis#804246, []) AS prodLocSpecificKpis#804247]
Input [42]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, sourceOfSupplyUuid#803735, minimumOrderQuantity#803751, orderProposalItemId#803722, orderProposalItemGroupId#803745, optimizationGroups#803764, measurements#803762, externalProductId#803746, externalPlantId#803747, previousOrderProposal#803741L, isFallbackOrderOnly#803738, shardId#804240, worklistShardItemId#804241L, prodLocSpecificKpis#804246]
(70) Scan ExistingRDD [codegen id : 10]
Output [6]: [shardId#804256, worklistShardItemId#804257L, qty#804258, demandChannel#804259, demandStream#804260, kpis#804261]
Arguments: [shardId#804256, worklistShardItemId#804257L, qty#804258, demandChannel#804259, demandStream#804260, kpis#804261], MapPartitionsRDD[37780] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(71) Filter [codegen id : 10]
Input [6]: [shardId#804256, worklistShardItemId#804257L, qty#804258, demandChannel#804259, demandStream#804260, kpis#804261]
Condition : ((((isnull(qty#804258) AND isnotnull(demandChannel#804259)) AND isnotnull(demandStream#804260)) AND (size(kpis#804261, true) > 0)) AND (isnotnull(shardId#804256) AND isnotnull(worklistShardItemId#804257L)))
(72) Project [codegen id : 10]
Output [5]: [shardId#804256, worklistShardItemId#804257L, demandChannel#804259, demandStream#804260, kpis#804261]
Input [6]: [shardId#804256, worklistShardItemId#804257L, qty#804258, demandChannel#804259, demandStream#804260, kpis#804261]
(73) ObjectHashAggregate
Input [5]: [shardId#804256, worklistShardItemId#804257L, demandChannel#804259, demandStream#804260, kpis#804261]
Keys [2]: [shardId#804256, worklistShardItemId#804257L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#804259, demandStream, demandStream#804260, kpis, kpis#804261), 0, 0)]
Aggregate Attributes [1]: [buf#804436]
Results [3]: [shardId#804256, worklistShardItemId#804257L, buf#804437]
(74) Exchange
Input [3]: [shardId#804256, worklistShardItemId#804257L, buf#804437]
Arguments: hashpartitioning(shardId#804256, worklistShardItemId#804257L, 20), ENSURE_REQUIREMENTS, [plan_id=316049]
(75) ObjectHashAggregate
Input [3]: [shardId#804256, worklistShardItemId#804257L, buf#804437]
Keys [2]: [shardId#804256, worklistShardItemId#804257L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#804259, demandStream, demandStream#804260, kpis, kpis#804261), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#804259, demandStream, demandStream#804260, kpis, kpis#804261), 0, 0)#804255]
Results [3]: [shardId#804256, worklistShardItemId#804257L, collect_list(struct(demandChannel, demandChannel#804259, demandStream, demandStream#804260, kpis, kpis#804261), 0, 0)#804255 AS channelStreamSpecificKpis#804248]
(76) Sort [codegen id : 11]
Input [3]: [shardId#804256, worklistShardItemId#804257L, channelStreamSpecificKpis#804248]
Arguments: [shardId#804256 ASC NULLS FIRST, worklistShardItemId#804257L ASC NULLS FIRST], false, 0
(77) SortMergeJoin [codegen id : 12]
Left keys [2]: [shardId#803008, worklistShardItemId#803520L]
Right keys [2]: [shardId#804256, worklistShardItemId#804257L]
Join type: LeftOuter
Join condition: None
(78) Project [codegen id : 12]
Output [41]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, sourceOfSupplyUuid#803735, minimumOrderQuantity#803751, orderProposalItemId#803722, orderProposalItemGroupId#803745, optimizationGroups#803764, measurements#803762, externalProductId#803746, externalPlantId#803747, previousOrderProposal#803741L, isFallbackOrderOnly#803738, prodLocSpecificKpis#804247, coalesce(channelStreamSpecificKpis#804248, []) AS channelStreamSpecificKpis#804262]
Input [43]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, sourceOfSupplyUuid#803735, minimumOrderQuantity#803751, orderProposalItemId#803722, orderProposalItemGroupId#803745, optimizationGroups#803764, measurements#803762, externalProductId#803746, externalPlantId#803747, previousOrderProposal#803741L, isFallbackOrderOnly#803738, prodLocSpecificKpis#804247, shardId#804256, worklistShardItemId#804257L, channelStreamSpecificKpis#804248]
(79) Scan ExistingRDD [codegen id : 13]
Output [6]: [shardId#804269, worklistShardItemId#804270L, qty#804271, demandChannel#804272, demandStream#804273, kpis#804274]
Arguments: [shardId#804269, worklistShardItemId#804270L, qty#804271, demandChannel#804272, demandStream#804273, kpis#804274], MapPartitionsRDD[37780] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(80) Filter [codegen id : 13]
Input [6]: [shardId#804269, worklistShardItemId#804270L, qty#804271, demandChannel#804272, demandStream#804273, kpis#804274]
Condition : ((isnotnull(qty#804271) AND isnotnull(kpis#804274)) AND (isnotnull(shardId#804269) AND isnotnull(worklistShardItemId#804270L)))
(81) Project [codegen id : 13]
Output [4]: [shardId#804269, worklistShardItemId#804270L, qty#804271, kpis#804274]
Input [6]: [shardId#804269, worklistShardItemId#804270L, qty#804271, demandChannel#804272, demandStream#804273, kpis#804274]
(82) ObjectHashAggregate
Input [4]: [shardId#804269, worklistShardItemId#804270L, qty#804271, kpis#804274]
Keys [2]: [shardId#804269, worklistShardItemId#804270L]
Functions [1]: [partial_collect_list(struct(qty, qty#804271, kpis, kpis#804274), 0, 0)]
Aggregate Attributes [1]: [buf#804438]
Results [3]: [shardId#804269, worklistShardItemId#804270L, buf#804439]
(83) Exchange
Input [3]: [shardId#804269, worklistShardItemId#804270L, buf#804439]
Arguments: hashpartitioning(shardId#804269, worklistShardItemId#804270L, 20), ENSURE_REQUIREMENTS, [plan_id=316061]
(84) ObjectHashAggregate
Input [3]: [shardId#804269, worklistShardItemId#804270L, buf#804439]
Keys [2]: [shardId#804269, worklistShardItemId#804270L]
Functions [1]: [collect_list(struct(qty, qty#804271, kpis, kpis#804274), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#804271, kpis, kpis#804274), 0, 0)#804268]
Results [3]: [shardId#804269, worklistShardItemId#804270L, map_from_entries(collect_list(struct(qty, qty#804271, kpis, kpis#804274), 0, 0)#804268) AS quantityKpis#804263]
(85) Sort [codegen id : 14]
Input [3]: [shardId#804269, worklistShardItemId#804270L, quantityKpis#804263]
Arguments: [shardId#804269 ASC NULLS FIRST, worklistShardItemId#804270L ASC NULLS FIRST], false, 0
(86) SortMergeJoin [codegen id : 15]
Left keys [2]: [shardId#803008, worklistShardItemId#803520L]
Right keys [2]: [shardId#804269, worklistShardItemId#804270L]
Join type: LeftOuter
Join condition: None
(87) Project [codegen id : 15]
Output [42]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, sourceOfSupplyUuid#803735, minimumOrderQuantity#803751, orderProposalItemId#803722, orderProposalItemGroupId#803745, optimizationGroups#803764, measurements#803762, externalProductId#803746, externalPlantId#803747, previousOrderProposal#803741L, isFallbackOrderOnly#803738, prodLocSpecificKpis#804247, channelStreamSpecificKpis#804262, coalesce(quantityKpis#804263, map(keys: [], values: [])) AS quantityKpis#804275]
Input [44]: [shardId#803008, worklistShardItemId#803520L, quantityAfterProdPlantOptimization#803521, qty#803522, orderProposalId#803721L, originalReplenishmentRunId#803763L, supplierGroup#803723, supplier#803724, supplyingPlant#803728, productGroup#803729, product#803730, plant#803725, subrange#803727, orderDateTime#803731, deliveryDateTime#803726, availabilityDateTime#803732, nextAvailabilityDateTime#803733, constraintValues#803754, constraintOperators#803753, constraintLabels#803752, logisticUnits#803748, orderQuantityBaseUom#803749, orderQuantityBaseUomUuid#803750, splitIndicator#803740L, netPriceAmount#803757, netPriceCurrencyCode#803758, netPriceQuantity#803759, netPriceQuantityUom#803760, netPriceQuantityUomUuid#803761, sourceOfSupplyUuid#803735, minimumOrderQuantity#803751, orderProposalItemId#803722, orderProposalItemGroupId#803745, optimizationGroups#803764, measurements#803762, externalProductId#803746, externalPlantId#803747, previousOrderProposal#803741L, isFallbackOrderOnly#803738, prodLocSpecificKpis#804247, channelStreamSpecificKpis#804262, shardId#804269, worklistShardItemId#804270L, quantityKpis#804263]
(88) Filter [codegen id : 7]
Input [3]: [isFallbackOrderOnly#807859, orderDateTime#807855, prodLocSpecificKpis#804247]
Condition : NOT (isFallbackOrderOnly#807859 <=> true)
(89) Project [codegen id : 7]
Output [2]: [orderDateTime#807855, prodLocSpecificKpis#804247]
Input [3]: [isFallbackOrderOnly#807859, orderDateTime#807855, prodLocSpecificKpis#804247]
(90) Scan parquet
Output [2]: [insightConfigurations#807636, shardId#807637]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/common-data-snapshot/10000002108]
PartitionFilters: [isnotnull(shardId#807637), (shardId#807637 = 0_1_10000002108)]
PushedFilters: [IsNotNull(insightConfigurations)]
ReadSchema: struct<insightConfigurations:map<string,struct<configurationVersion:string,name:string,settings:array<struct<name:string,type:string,value:string>>,status:string>>>
(91) ColumnarToRow [codegen id : 8]
Input [2]: [insightConfigurations#807636, shardId#807637]
(92) Filter [codegen id : 8]
Input [2]: [insightConfigurations#807636, shardId#807637]
Condition : (isnotnull(insightConfigurations#807636) AND isnotnull(insightConfigurations#807636[POTENTIAL_OOS_STOCK_PERIOD]))
(93) Project [codegen id : 8]
Output [1]: [insightConfigurations#807636[POTENTIAL_OOS_STOCK_PERIOD].settings AS _extract_settings#813941]
Input [2]: [insightConfigurations#807636, shardId#807637]
(94) Exchange
Input [1]: [_extract_settings#813941]
Arguments: RoundRobinPartitioning(20), REPARTITION_BY_NUM, [plan_id=317747]
(95) BroadcastExchange
Input [1]: [_extract_settings#813941]
Arguments: IdentityBroadcastMode, [plan_id=317748]
(96) BroadcastNestedLoopJoin
Join type: Cross
Join condition: ((CASE WHEN (isnull(element_at(filter(prodLocSpecificKpis#804247, lambdafunction((lambda x_2133#807641.label = OutOfStockProbability), lambda x_2133#807641, false)), 1, None, false).value) OR isnull(cast(element_at(filter(_extract_settings#813941, lambdafunction((lambda x_2134#807642.name = OOS_PROBABILITY_THRESHOLD), lambda x_2134#807642, false)), 1, None, false).value as double))) THEN false ELSE (element_at(filter(prodLocSpecificKpis#804247, lambdafunction((lambda x_2133#807643.label = OutOfStockProbability), lambda x_2133#807643, false)), 1, None, false).value >= cast(element_at(filter(_extract_settings#813941, lambdafunction((lambda x_2134#807644.name = OOS_PROBABILITY_THRESHOLD), lambda x_2134#807644, false)), 1, None, false).value as double)) END AND CASE WHEN isnull(element_at(filter(prodLocSpecificKpis#804247, lambdafunction((lambda x_2135#807645.label = InitialStockQty), lambda x_2135#807645, false)), 1, None, false).value) THEN false ELSE (element_at(filter(prodLocSpecificKpis#804247, lambdafunction((lambda x_2135#807647.label = InitialStockQty), lambda x_2135#807647, false)), 1, None, false).value > CASE WHEN cast(element_at(filter(_extract_settings#813941, lambdafunction((lambda x_2136#807648.name = CURRENT_STOCK_ABOVE_ZERO), lambda x_2136#807648, false)), 1, None, false).value as boolean) THEN 0.0 ELSE -Infinity END) END) AND CASE WHEN (CASE WHEN isnull(orderDateTime#807855) THEN true ELSE isnull((cast((unix_timestamp(orderDateTime#807855, yyyy-MM-dd HH:mm:ss, Some(UTC), false) - 1786354928) as double) / 3600.0)) END OR isnull(cast(element_at(filter(_extract_settings#813941, lambdafunction((lambda x_2137#807649.name = OFFSET_CURRENT_ORDER_DATE), lambda x_2137#807649, false)), 1, None, false).value as double))) THEN false ELSE (CASE WHEN isnull(orderDateTime#807855) THEN null ELSE (cast((unix_timestamp(orderDateTime#807855, yyyy-MM-dd HH:mm:ss, Some(UTC), false) - 1786354928) as double) / 3600.0) END >= cast(element_at(filter(_extract_settings#813941, lambdafunction((lambda x_2137#807650.name = OFFSET_CURRENT_ORDER_DATE), lambda x_2137#807650, false)), 1, None, false).value as double)) END)
(97) Project [codegen id : 9]
Output: []
Input [3]: [orderDateTime#807855, prodLocSpecificKpis#804247, _extract_settings#813941]
(98) LocalLimit [codegen id : 9]
Input: []
Arguments: 1
(99) InMemoryTableScan
Output [3]: [isFallbackOrderOnly#807722, qty#807697, quantityKpis#807813]
Arguments: [isFallbackOrderOnly#807722, qty#807697, quantityKpis#807813], [NOT (isFallbackOrderOnly#807722 <=> true)]
(100) InMemoryRelation
Arguments: [shardId#807687, worklistShardItemId#807695L, quantityAfterProdPlantOptimization#807696, qty#807697, orderProposalId#807700L, originalReplenishmentRunId#807703L, supplierGroup#807710, supplier#807711, supplyingPlant#807741, productGroup#807742, product#807713, plant#807714, subrange#807712, orderDateTime#807718, deliveryDateTime#807719, availabilityDateTime#807720, nextAvailabilityDateTime#807721, constraintValues#807735, constraintOperators#807733, constraintLabels#807732, logisticUnits#807737, orderQuantityBaseUom#807723, orderQuantityBaseUomUuid#807724, splitIndicator#807705L, netPriceAmount#807728, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(101) Filter [codegen id : 10]
Input [3]: [isFallbackOrderOnly#807722, qty#807697, quantityKpis#807813]
Condition : NOT (isFallbackOrderOnly#807722 <=> true)
(102) Project [codegen id : 10]
Output [2]: [qty#807697, quantityKpis#807813]
Input [3]: [isFallbackOrderOnly#807722, qty#807697, quantityKpis#807813]
(103) Scan parquet
Output [2]: [insightConfigurations#807818, shardId#807819]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/common-data-snapshot/10000002108]
PartitionFilters: [isnotnull(shardId#807819), (shardId#807819 = 0_1_10000002108)]
PushedFilters: [IsNotNull(insightConfigurations)]
ReadSchema: struct<insightConfigurations:map<string,struct<configurationVersion:string,name:string,settings:array<struct<name:string,type:string,value:string>>,status:string>>>
(104) ColumnarToRow [codegen id : 11]
Input [2]: [insightConfigurations#807818, shardId#807819]
(105) Filter [codegen id : 11]
Input [2]: [insightConfigurations#807818, shardId#807819]
Condition : (isnotnull(insightConfigurations#807818) AND isnotnull(insightConfigurations#807818[POTENTIAL_OOS_DEMAND_PERIOD]))
(106) Project [codegen id : 11]
Output [1]: [insightConfigurations#807818[POTENTIAL_OOS_DEMAND_PERIOD].settings AS _extract_settings#813943]
Input [2]: [insightConfigurations#807818, shardId#807819]
(107) Exchange
Input [1]: [_extract_settings#813943]
Arguments: RoundRobinPartitioning(20), REPARTITION_BY_NUM, [plan_id=317763]
(108) BroadcastExchange
Input [1]: [_extract_settings#813943]
Arguments: IdentityBroadcastMode, [plan_id=317764]
(109) BroadcastNestedLoopJoin
Join type: Cross
Join condition: CASE WHEN (isnull(element_at(filter(element_at(quantityKpis#807813, qty#807697, None, false), lambdafunction((lambda x_2139#807667.label = OutOfStockProbability), lambda x_2139#807667, false)), 1, None, false).value) OR isnull(cast(element_at(filter(_extract_settings#813943, lambdafunction((lambda x_2140#807668.name = OOS_PROBABILITY_THRESHOLD), lambda x_2140#807668, false)), 1, None, false).value as double))) THEN false ELSE (element_at(filter(element_at(quantityKpis#807813, qty#807697, None, false), lambdafunction((lambda x_2139#807669.label = OutOfStockProbability), lambda x_2139#807669, false)), 1, None, false).value >= cast(element_at(filter(_extract_settings#813943, lambdafunction((lambda x_2140#807670.name = OOS_PROBABILITY_THRESHOLD), lambda x_2140#807670, false)), 1, None, false).value as double)) END
(110) Project [codegen id : 12]
Output: []
Input [3]: [qty#807697, quantityKpis#807813, _extract_settings#813943]
(111) LocalLimit [codegen id : 12]
Input: []
Arguments: 1
(112) Union
(113) CollectLimit
Input: []
Arguments: 1