digraph G {
0 [id="node0" labelType="html" label="<b>CollectLimit</b><br><br>shuffle records written: 37<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 1<br>local bytes read: 496.0 B<br>merged fetch fallback count: 0<br>local blocks read: 8<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 total (min, med, max (stageId: taskId))<br>6 ms (0 ms, 0 ms, 0 ms (stage 636.0: task 6547))<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 total (min, med, max (stageId: taskId))<br>2.2 KiB (62.0 B, 62.0 B, 62.0 B (stage 636.0: task 6473))" tooltip="CollectLimit 1"];
1 [id="node1" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 39,996" tooltip="InMemoryTableScan"];
subgraph cluster2 {
isCluster="true";
id="cluster2";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n2.2 s (0 ms, 0 ms, 278 ms (stage 636.0: task 6480))";
tooltip="WholeStageCodegen (5)";
3 [id="node3" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#16822, qty#452, demandChannel#13245, demandStream#13246, kpis#13280]"];
4 [id="node4" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 39,996" tooltip="BroadcastHashJoin [shardId#445, worklistShardItemId#446L], [shardId#16919, worklistShardItemId#16920L], Inner, BuildRight, false"];
}
5 [id="node5" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster6 {
isCluster="true";
id="cluster6";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n363 ms (0 ms, 0 ms, 103 ms (stage 636.0: task 6433))";
tooltip="WholeStageCodegen (1)";
7 [id="node7" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, qty#452, demandChannel#13245, demandStream#13246, kpis#13280]"];
8 [id="node8" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((NOT isNewlyCalculated#13248 AND isnotnull(shardId#445)) AND isnotnull(worklistShardItemId#446L))"];
}
9 [id="node9" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [demandChannel#13245, demandStream#13246, isNewlyCalculated#13248, kpis#13280, qty#452, shardId#445, worklistShardItemId#446L], [NOT isNewlyCalculated#13248, isnotnull(shardId#445), isnotnull(worklistShardItemId#446L)]"];
10 [id="node10" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster11 {
isCluster="true";
id="cluster11";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
12 [id="node12" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452, null AS demandChannel#13245, null AS demandStream#13246, [] AS kpis#13280, true AS isNewlyCalculated#13248]"];
13 [id="node13" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452)], [coalesce(shardId#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012)], LeftAnti"];
}
subgraph cluster14 {
isCluster="true";
id="cluster14";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
15 [id="node15" 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 [coalesce(shardId#445, ) ASC NULLS FIRST, isnull(shardId#445) ASC NULLS FIRST, coalesce(worklistShardItemId#446L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#446L) ASC NULLS FIRST, coalesce(version#447, 0) ASC NULLS FIRST, isnull(version#447) ASC NULLS FIRST, coalesce(product#448, ) ASC NULLS FIRST, isnull(product#448) ASC NULLS FIRST, coalesce(plant#449, ) ASC NULLS FIRST, isnull(plant#449) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))) ASC NULLS FIRST, isnull(qty#452) ASC NULLS FIRST], false, 0"];
}
16 [id="node16" 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(coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452), 37), ENSURE_REQUIREMENTS, [plan_id=114079]"];
17 [id="node17" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452]"];
18 [id="node18" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster19 {
isCluster="true";
id="cluster19";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
20 [id="node20" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster21 {
isCluster="true";
id="cluster21";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
22 [id="node22" 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 [coalesce(shardId#13237, ) ASC NULLS FIRST, isnull(shardId#13237) ASC NULLS FIRST, coalesce(worklistShardItemId#13238L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#13238L) ASC NULLS FIRST, coalesce(version#13239, 0) ASC NULLS FIRST, isnull(version#13239) ASC NULLS FIRST, coalesce(product#13240, ) ASC NULLS FIRST, isnull(product#13240) ASC NULLS FIRST, coalesce(plant#13241, ) ASC NULLS FIRST, isnull(plant#13241) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))) ASC NULLS FIRST, isnull(qty#13012) ASC NULLS FIRST], false, 0"];
}
23 [id="node23" 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(coalesce(shardId#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012), 37), ENSURE_REQUIREMENTS, [plan_id=114108]"];
24 [id="node24" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
25 [id="node25" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#13237, worklistShardItemId#13238L, version#13239, product#13240, plant#13241, qty#13012]"];
subgraph cluster26 {
isCluster="true";
id="cluster26";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
27 [id="node27" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
28 [id="node28" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster29 {
isCluster="true";
id="cluster29";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
30 [id="node30" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
31 [id="node31" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
32 [id="node32" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
33 [id="node33" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
34 [id="node34" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster35 {
isCluster="true";
id="cluster35";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
36 [id="node36" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
37 [id="node37" 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#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
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(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
40 [id="node40" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
41 [id="node41" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster42 {
isCluster="true";
id="cluster42";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
43 [id="node43" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster44 {
isCluster="true";
id="cluster44";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
45 [id="node45" 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 [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
46 [id="node46" 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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster47 {
isCluster="true";
id="cluster47";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
48 [id="node48" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
49 [id="node49" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
50 [id="node50" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster51 {
isCluster="true";
id="cluster51";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
52 [id="node52" 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 [cachedWorklistShardItemId#13009L ASC NULLS FIRST, cachedShardId#13008 ASC NULLS FIRST], false, 0"];
}
53 [id="node53" 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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster54 {
isCluster="true";
id="cluster54";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
55 [id="node55" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
56 [id="node56" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
57 [id="node57" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
subgraph cluster58 {
isCluster="true";
id="cluster58";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
59 [id="node59" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226]"];
60 [id="node60" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#13220L, shardId#13219], [cachedWorklistShardItemId#13234L, cachedShardId#13233], Inner"];
}
subgraph cluster61 {
isCluster="true";
id="cluster61";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
62 [id="node62" 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#13220L ASC NULLS FIRST, shardId#13219 ASC NULLS FIRST], false, 0"];
}
63 [id="node63" 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#13220L, shardId#13219, 37), ENSURE_REQUIREMENTS, [plan_id=114093]"];
subgraph cluster64 {
isCluster="true";
id="cluster64";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
65 [id="node65" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#13226) AND isnotnull(worklistShardItemId#13220L)) AND isnotnull(shardId#13219))"];
}
66 [id="node66" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226], [isnull(qty#13226), isnotnull(worklistShardItemId#13220L), isnotnull(shardId#13219)]"];
67 [id="node67" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster68 {
isCluster="true";
id="cluster68";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
69 [id="node69" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster70 {
isCluster="true";
id="cluster70";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
71 [id="node71" 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 [cachedWorklistShardItemId#13234L ASC NULLS FIRST, cachedShardId#13233 ASC NULLS FIRST], false, 0"];
}
72 [id="node72" 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(cachedWorklistShardItemId#13234L, cachedShardId#13233, 37), ENSURE_REQUIREMENTS, [plan_id=114099]"];
subgraph cluster73 {
isCluster="true";
id="cluster73";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
74 [id="node74" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13227 AS cachedShardId#13233, worklistShardItemId#13228L AS cachedWorklistShardItemId#13234L]"];
75 [id="node75" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13228L) AND isnotnull(shardId#13227))"];
76 [id="node76" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13227,worklistShardItemId#13228L,qty#13229,demandChannel#13230,demandStream#13231,kpis#13232]"];
}
subgraph cluster77 {
isCluster="true";
id="cluster77";
label="WholeStageCodegen (9)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (9)";
78 [id="node78" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13250, worklistShardItemId#13251L, version#13252, product#13253, plant#13254, qty#13278, demandChannel#13271, demandStream#13272, kpis#13279, false AS isNewlyCalculated#13249]"];
}
79 [id="node79" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#13271, demandStream#13272, kpis#13279, plant#13254, product#13253, qty#13278, shardId#13250, version#13252, worklistShardItemId#13251L]"];
subgraph cluster80 {
isCluster="true";
id="cluster80";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
81 [id="node81" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
82 [id="node82" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster83 {
isCluster="true";
id="cluster83";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
84 [id="node84" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
85 [id="node85" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
86 [id="node86" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
87 [id="node87" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
88 [id="node88" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster89 {
isCluster="true";
id="cluster89";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
90 [id="node90" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
91 [id="node91" 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#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
subgraph cluster92 {
isCluster="true";
id="cluster92";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
93 [id="node93" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
94 [id="node94" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
95 [id="node95" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster96 {
isCluster="true";
id="cluster96";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
97 [id="node97" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster98 {
isCluster="true";
id="cluster98";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
99 [id="node99" 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 [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
100 [id="node100" 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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster101 {
isCluster="true";
id="cluster101";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
102 [id="node102" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
103 [id="node103" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
104 [id="node104" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster105 {
isCluster="true";
id="cluster105";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
106 [id="node106" 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 [cachedWorklistShardItemId#13009L ASC NULLS FIRST, cachedShardId#13008 ASC NULLS FIRST], false, 0"];
}
107 [id="node107" 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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster108 {
isCluster="true";
id="cluster108";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
109 [id="node109" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
110 [id="node110" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
111 [id="node111" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
subgraph cluster112 {
isCluster="true";
id="cluster112";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n2.1 s (7 ms, 17 ms, 278 ms (stage 636.0: task 6480))";
tooltip="WholeStageCodegen (2)";
113 [id="node113" labelType="html" label="<b>Filter</b><br><br>number of output rows: 39,996" tooltip="Filter (isnotnull(shardId#16827) AND isnotnull(worklistShardItemId#16828L))"];
}
114 [id="node114" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 39,996" tooltip="InMemoryTableScan [shardId#16827, worklistShardItemId#16828L, qty#16009, demandChannel#15989, demandStream#15990, kpis#16018], [isnotnull(shardId#16827), isnotnull(worklistShardItemId#16828L)]"];
115 [id="node115" labelType="html" label="<b>SortAggregate</b><br><br>number of output rows: 0" tooltip="SortAggregate(key=[demandChannel#15989, shardId#445, qty#16009, worklistShardItemId#446L, demandStream#15990], functions=[first(kpis#16018, false)])"];
subgraph cluster116 {
isCluster="true";
id="cluster116";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
117 [id="node117" 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 [demandChannel#15989 ASC NULLS FIRST, shardId#445 ASC NULLS FIRST, qty#16009 ASC NULLS FIRST, worklistShardItemId#446L ASC NULLS FIRST, demandStream#15990 ASC NULLS FIRST], false, 0"];
}
118 [id="node118" 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(demandChannel#15989, shardId#445, qty#16009, worklistShardItemId#446L, demandStream#15990, 37), ENSURE_REQUIREMENTS, [plan_id=115377]"];
119 [id="node119" labelType="html" label="<b>SortAggregate</b><br><br>number of output rows: 0" tooltip="SortAggregate(key=[demandChannel#15989, shardId#445, knownfloatingpointnormalized(normalizenanandzero(qty#16009)) AS qty#16009, worklistShardItemId#446L, demandStream#15990], functions=[partial_first(kpis#16018, false)])"];
subgraph cluster120 {
isCluster="true";
id="cluster120";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
121 [id="node121" 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 [demandChannel#15989 ASC NULLS FIRST, shardId#445 ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(qty#16009)) AS qty#16009 ASC NULLS FIRST, worklistShardItemId#446L ASC NULLS FIRST, demandStream#15990 ASC NULLS FIRST], false, 0"];
122 [id="node122" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, qty#16009, demandChannel#15989, demandStream#15990, kpis#16018]"];
123 [id="node123" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [coalesce(product#15982, ), isnull(product#15982), coalesce(plant#15983, ), isnull(plant#15983)], [coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449)], Inner, ((qty#16009 <=> qty#452) OR isnull(qty#452))"];
}
subgraph cluster124 {
isCluster="true";
id="cluster124";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
125 [id="node125" 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 [coalesce(product#15982, ) ASC NULLS FIRST, isnull(product#15982) ASC NULLS FIRST, coalesce(plant#15983, ) ASC NULLS FIRST, isnull(plant#15983) ASC NULLS FIRST], false, 0"];
}
126 [id="node126" 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(coalesce(product#15982, ), isnull(product#15982), coalesce(plant#15983, ), isnull(plant#15983), 37), ENSURE_REQUIREMENTS, [plan_id=115353]"];
127 [id="node127" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
128 [id="node128" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#15963.productId AS product#15982, prodPlantResults#15963.plantId AS plant#15983, null AS qty#16009, null AS demandChannel#15989, null AS demandStream#15990, transform(prodPlantResults#15963.kpiResults, lambdafunction(struct(label, lambda kpi#16019.label, dateTime, lambda kpi#16019.datetime, value, lambda kpi#16019.value), lambda kpi#16019, false)) AS kpis#16018]"];
129 [id="node129" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [prodPlantResults#15963]"];
subgraph cluster130 {
isCluster="true";
id="cluster130";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
131 [id="node131" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#15956), false, [prodPlantResults#15963]"];
132 [id="node132" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#15956]"];
133 [id="node133" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#15956, true) > 0) AND isnotnull(prodPlantResults#15956))"];
134 [id="node134" labelType="html" label="<br><b>SerializeFromObject</b><br><br>" tooltip="SerializeFromObject [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement)))) null else named_struct(measuredUnit, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getMeasuredUnit()))), numberOfCalls, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getNumberOfCalls()), parent, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getParent()))), runtime, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getRuntime())), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getPerformanceMeasurements()), None) AS performanceMeasurements#15955, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult)))) null else named_struct(demandChannelStreamKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult)))) null else named_struct(demandChannel, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandChannel()))), demandStream, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandStream()))), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getKpiResults()), None)), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getDemandChannelStreamKpiResults()), None), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getKpiResults()), None), plantId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getPlantId()))), productId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getProductId()))), quantityKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult)))) null else named_struct(kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getKpiResults()), None), quantity, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getQuantity())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getQuantityKpiResults()), None)), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getProdPlantResults()), None) AS prodPlantResults#15956]"];
}
135 [id="node135" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#15952]"];
136 [id="node136" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [_extract_productId#16154 AS product#15969, _extract_plantId#16155 AS plant#15970, quantityKpiResults#15975.quantity AS qty#15976, null AS demandChannel#15978, null AS demandStream#15979, transform(quantityKpiResults#15975.kpiResults, lambdafunction(struct(label, lambda kpi#16019.label, dateTime, lambda kpi#16019.datetime, value, lambda kpi#16019.value), lambda kpi#16019, false)) AS kpis#16152]"];
subgraph cluster137 {
isCluster="true";
id="cluster137";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
138 [id="node138" labelType="html" label="<b>Generate</b><br><br>number of output rows: 0" tooltip="Generate explode(_extract_quantityKpiResults#16156), [_extract_productId#16154, _extract_plantId#16155], false, [quantityKpiResults#15975]"];
139 [id="node139" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#16008.productId AS _extract_productId#16154, prodPlantResults#16008.plantId AS _extract_plantId#16155, prodPlantResults#16008.quantityKpiResults AS _extract_quantityKpiResults#16156]"];
140 [id="node140" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((size(prodPlantResults#16008.quantityKpiResults, true) > 0) AND isnotnull(prodPlantResults#16008.quantityKpiResults))"];
}
141 [id="node141" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [prodPlantResults#16008], [(size(prodPlantResults#16008.quantityKpiResults, true) > 0), isnotnull(prodPlantResults#16008.quantityKpiResults)]"];
subgraph cluster142 {
isCluster="true";
id="cluster142";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
143 [id="node143" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#15956), false, [prodPlantResults#15963]"];
144 [id="node144" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#15956]"];
145 [id="node145" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#15956, true) > 0) AND isnotnull(prodPlantResults#15956))"];
146 [id="node146" labelType="html" label="<br><b>SerializeFromObject</b><br><br>" tooltip="SerializeFromObject [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement)))) null else named_struct(measuredUnit, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getMeasuredUnit()))), numberOfCalls, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getNumberOfCalls()), parent, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getParent()))), runtime, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getRuntime())), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getPerformanceMeasurements()), None) AS performanceMeasurements#15955, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult)))) null else named_struct(demandChannelStreamKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult)))) null else named_struct(demandChannel, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandChannel()))), demandStream, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandStream()))), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getKpiResults()), None)), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getDemandChannelStreamKpiResults()), None), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getKpiResults()), None), plantId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getPlantId()))), productId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getProductId()))), quantityKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult)))) null else named_struct(kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getKpiResults()), None), quantity, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getQuantity())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getQuantityKpiResults()), None)), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getProdPlantResults()), None) AS prodPlantResults#15956]"];
}
147 [id="node147" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#15952]"];
148 [id="node148" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [_extract_productId#16157 AS product#15991, _extract_plantId#16158 AS plant#15992, null AS qty#16014, demandChannelStreamKpiResults#15997.demandChannel AS demandChannel#15999, demandChannelStreamKpiResults#15997.demandStream AS demandStream#16001, transform(demandChannelStreamKpiResults#15997.kpiResults, lambdafunction(struct(label, lambda kpi#16019.label, dateTime, lambda kpi#16019.datetime, value, lambda kpi#16019.value), lambda kpi#16019, false)) AS kpis#16153]"];
subgraph cluster149 {
isCluster="true";
id="cluster149";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
150 [id="node150" labelType="html" label="<b>Generate</b><br><br>number of output rows: 0" tooltip="Generate explode(_extract_demandChannelStreamKpiResults#16159), [_extract_productId#16157, _extract_plantId#16158], false, [demandChannelStreamKpiResults#15997]"];
151 [id="node151" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#16013.productId AS _extract_productId#16157, prodPlantResults#16013.plantId AS _extract_plantId#16158, prodPlantResults#16013.demandChannelStreamKpiResults AS _extract_demandChannelStreamKpiResults#16159]"];
152 [id="node152" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((size(prodPlantResults#16013.demandChannelStreamKpiResults, true) > 0) AND isnotnull(prodPlantResults#16013.demandChannelStreamKpiResults))"];
}
153 [id="node153" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [prodPlantResults#16013], [(size(prodPlantResults#16013.demandChannelStreamKpiResults, true) > 0), isnotnull(prodPlantResults#16013.demandChannelStreamKpiResults)]"];
subgraph cluster154 {
isCluster="true";
id="cluster154";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
155 [id="node155" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#15956), false, [prodPlantResults#15963]"];
156 [id="node156" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#15956]"];
157 [id="node157" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#15956, true) > 0) AND isnotnull(prodPlantResults#15956))"];
158 [id="node158" labelType="html" label="<br><b>SerializeFromObject</b><br><br>" tooltip="SerializeFromObject [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement)))) null else named_struct(measuredUnit, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getMeasuredUnit()))), numberOfCalls, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getNumberOfCalls()), parent, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getParent()))), runtime, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getRuntime())), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getPerformanceMeasurements()), None) AS performanceMeasurements#15955, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult)))) null else named_struct(demandChannelStreamKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult)))) null else named_struct(demandChannel, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandChannel()))), demandStream, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandStream()))), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -4), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getKpiResults()), None)), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getDemandChannelStreamKpiResults()), None), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -5), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getKpiResults()), None), plantId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getPlantId()))), productId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getProductId()))), quantityKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult)))) null else named_struct(kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -7), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getKpiResults()), None), quantity, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -6), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getQuantity())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getQuantityKpiResults()), None)), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getProdPlantResults()), None) AS prodPlantResults#15956]"];
}
159 [id="node159" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#15952]"];
subgraph cluster160 {
isCluster="true";
id="cluster160";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
161 [id="node161" 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 [coalesce(product#448, ) ASC NULLS FIRST, isnull(product#448) ASC NULLS FIRST, coalesce(plant#449, ) ASC NULLS FIRST, isnull(plant#449) ASC NULLS FIRST], false, 0"];
}
162 [id="node162" 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(coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), 37), ENSURE_REQUIREMENTS, [plan_id=115367]"];
subgraph cluster163 {
isCluster="true";
id="cluster163";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
164 [id="node164" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, qty#452, worklistShardItemId#446L, product#448], functions=[])"];
}
165 [id="node165" 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(plant#449, shardId#445, qty#452, worklistShardItemId#446L, product#448, 37), ENSURE_REQUIREMENTS, [plan_id=115363]"];
subgraph cluster166 {
isCluster="true";
id="cluster166";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
167 [id="node167" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, knownfloatingpointnormalized(normalizenanandzero(qty#452)) AS qty#452, worklistShardItemId#446L, product#448], functions=[])"];
168 [id="node168" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, product#448, plant#449, qty#452]"];
169 [id="node169" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter isNewlyCalculated#13248: boolean"];
}
170 [id="node170" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [isNewlyCalculated#13248, plant#449, product#448, qty#452, shardId#445, worklistShardItemId#446L], [isNewlyCalculated#13248]"];
171 [id="node171" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster172 {
isCluster="true";
id="cluster172";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
173 [id="node173" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452, null AS demandChannel#13245, null AS demandStream#13246, [] AS kpis#13280, true AS isNewlyCalculated#13248]"];
174 [id="node174" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452)], [coalesce(shardId#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012)], LeftAnti"];
}
subgraph cluster175 {
isCluster="true";
id="cluster175";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
176 [id="node176" 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 [coalesce(shardId#445, ) ASC NULLS FIRST, isnull(shardId#445) ASC NULLS FIRST, coalesce(worklistShardItemId#446L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#446L) ASC NULLS FIRST, coalesce(version#447, 0) ASC NULLS FIRST, isnull(version#447) ASC NULLS FIRST, coalesce(product#448, ) ASC NULLS FIRST, isnull(product#448) ASC NULLS FIRST, coalesce(plant#449, ) ASC NULLS FIRST, isnull(plant#449) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))) ASC NULLS FIRST, isnull(qty#452) ASC NULLS FIRST], false, 0"];
}
177 [id="node177" 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(coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452), 37), ENSURE_REQUIREMENTS, [plan_id=114079]"];
178 [id="node178" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452]"];
179 [id="node179" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster180 {
isCluster="true";
id="cluster180";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
181 [id="node181" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster182 {
isCluster="true";
id="cluster182";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
183 [id="node183" 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 [coalesce(shardId#13237, ) ASC NULLS FIRST, isnull(shardId#13237) ASC NULLS FIRST, coalesce(worklistShardItemId#13238L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#13238L) ASC NULLS FIRST, coalesce(version#13239, 0) ASC NULLS FIRST, isnull(version#13239) ASC NULLS FIRST, coalesce(product#13240, ) ASC NULLS FIRST, isnull(product#13240) ASC NULLS FIRST, coalesce(plant#13241, ) ASC NULLS FIRST, isnull(plant#13241) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))) ASC NULLS FIRST, isnull(qty#13012) ASC NULLS FIRST], false, 0"];
}
184 [id="node184" 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(coalesce(shardId#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012), 37), ENSURE_REQUIREMENTS, [plan_id=114108]"];
185 [id="node185" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
186 [id="node186" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#13237, worklistShardItemId#13238L, version#13239, product#13240, plant#13241, qty#13012]"];
subgraph cluster187 {
isCluster="true";
id="cluster187";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
188 [id="node188" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
189 [id="node189" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster190 {
isCluster="true";
id="cluster190";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
191 [id="node191" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
192 [id="node192" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
193 [id="node193" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
194 [id="node194" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
195 [id="node195" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster196 {
isCluster="true";
id="cluster196";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
197 [id="node197" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 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(worklistShardItemId#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
subgraph cluster199 {
isCluster="true";
id="cluster199";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
200 [id="node200" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
201 [id="node201" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
202 [id="node202" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster203 {
isCluster="true";
id="cluster203";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
204 [id="node204" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster205 {
isCluster="true";
id="cluster205";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
206 [id="node206" 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 [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
207 [id="node207" 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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster208 {
isCluster="true";
id="cluster208";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
209 [id="node209" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
210 [id="node210" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
211 [id="node211" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster212 {
isCluster="true";
id="cluster212";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
213 [id="node213" 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 [cachedWorklistShardItemId#13009L ASC NULLS FIRST, cachedShardId#13008 ASC NULLS FIRST], false, 0"];
}
214 [id="node214" 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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster215 {
isCluster="true";
id="cluster215";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
216 [id="node216" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
217 [id="node217" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
218 [id="node218" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
subgraph cluster219 {
isCluster="true";
id="cluster219";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
220 [id="node220" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226]"];
221 [id="node221" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#13220L, shardId#13219], [cachedWorklistShardItemId#13234L, cachedShardId#13233], Inner"];
}
subgraph cluster222 {
isCluster="true";
id="cluster222";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
223 [id="node223" 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#13220L ASC NULLS FIRST, shardId#13219 ASC NULLS FIRST], false, 0"];
}
224 [id="node224" 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#13220L, shardId#13219, 37), ENSURE_REQUIREMENTS, [plan_id=114093]"];
subgraph cluster225 {
isCluster="true";
id="cluster225";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
226 [id="node226" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#13226) AND isnotnull(worklistShardItemId#13220L)) AND isnotnull(shardId#13219))"];
}
227 [id="node227" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226], [isnull(qty#13226), isnotnull(worklistShardItemId#13220L), isnotnull(shardId#13219)]"];
228 [id="node228" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster229 {
isCluster="true";
id="cluster229";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
230 [id="node230" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster231 {
isCluster="true";
id="cluster231";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
232 [id="node232" 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 [cachedWorklistShardItemId#13234L ASC NULLS FIRST, cachedShardId#13233 ASC NULLS FIRST], false, 0"];
}
233 [id="node233" 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(cachedWorklistShardItemId#13234L, cachedShardId#13233, 37), ENSURE_REQUIREMENTS, [plan_id=114099]"];
subgraph cluster234 {
isCluster="true";
id="cluster234";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
235 [id="node235" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13227 AS cachedShardId#13233, worklistShardItemId#13228L AS cachedWorklistShardItemId#13234L]"];
236 [id="node236" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13228L) AND isnotnull(shardId#13227))"];
237 [id="node237" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13227,worklistShardItemId#13228L,qty#13229,demandChannel#13230,demandStream#13231,kpis#13232]"];
}
subgraph cluster238 {
isCluster="true";
id="cluster238";
label="WholeStageCodegen (9)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (9)";
239 [id="node239" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13250, worklistShardItemId#13251L, version#13252, product#13253, plant#13254, qty#13278, demandChannel#13271, demandStream#13272, kpis#13279, false AS isNewlyCalculated#13249]"];
}
240 [id="node240" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#13271, demandStream#13272, kpis#13279, plant#13254, product#13253, qty#13278, shardId#13250, version#13252, worklistShardItemId#13251L]"];
subgraph cluster241 {
isCluster="true";
id="cluster241";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
242 [id="node242" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
243 [id="node243" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster244 {
isCluster="true";
id="cluster244";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
245 [id="node245" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
246 [id="node246" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
247 [id="node247" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
248 [id="node248" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
249 [id="node249" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster250 {
isCluster="true";
id="cluster250";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
251 [id="node251" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
252 [id="node252" 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#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
subgraph cluster253 {
isCluster="true";
id="cluster253";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
254 [id="node254" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
255 [id="node255" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
256 [id="node256" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster257 {
isCluster="true";
id="cluster257";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
258 [id="node258" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster259 {
isCluster="true";
id="cluster259";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
260 [id="node260" 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 [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
261 [id="node261" 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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster262 {
isCluster="true";
id="cluster262";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
263 [id="node263" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
264 [id="node264" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
265 [id="node265" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster266 {
isCluster="true";
id="cluster266";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
267 [id="node267" 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 [cachedWorklistShardItemId#13009L ASC NULLS FIRST, cachedShardId#13008 ASC NULLS FIRST], false, 0"];
}
268 [id="node268" 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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster269 {
isCluster="true";
id="cluster269";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
270 [id="node270" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
271 [id="node271" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
272 [id="node272" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
273 [id="node273" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 2 ms<br>time to build: 9 ms<br>time to collect: 48.4 s<br>number of output rows: 9,999<br>data size: 2.5 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, true], input[1, bigint, true]),false), [plan_id=115549]"];
subgraph cluster274 {
isCluster="true";
id="cluster274";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n794 ms (6 ms, 6 ms, 173 ms (stage 616.0: task 6395))";
tooltip="WholeStageCodegen (4)";
275 [id="node275" 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>170 ms (2 ms, 5 ms, 11 ms (stage 616.0: task 6395))<br>peak memory total (min, med, max (stageId: taskId))<br>83.3 MiB (2.3 MiB, 2.3 MiB, 2.3 MiB (stage 616.0: task 6395))<br>number of output rows: 9,999<br>number of sort fallback tasks: 0<br>avg hash probes per key (min, med, max (stageId: taskId)):<br>(1, 1, 1 (stage 616.0: task 6395))" tooltip="HashAggregate(keys=[shardId#16919, worklistShardItemId#16920L], functions=[max(version#16921)])"];
}
276 [id="node276" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<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: 1,369<br>data size total (min, med, max (stageId: taskId))<br>468.7 KiB (11.2 KiB, 12.6 KiB, 14.3 KiB (stage 615.0: task 6334))<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>54 ms (1 ms, 1 ms, 1 ms (stage 615.0: task 6318))<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>33 ms (0 ms, 1 ms, 2 ms (stage 616.0: task 6413))<br>remote bytes read total (min, med, max (stageId: taskId))<br>232.1 KiB (6.0 KiB, 6.3 KiB, 6.6 KiB (stage 616.0: task 6412))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>240 ms (6 ms, 6 ms, 10 ms (stage 616.0: task 6393))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>232.1 KiB (6.0 KiB, 6.3 KiB, 6.7 KiB (stage 615.0: task 6334))" tooltip="Exchange hashpartitioning(shardId#16919, worklistShardItemId#16920L, 37), ENSURE_REQUIREMENTS, [plan_id=115545]"];
subgraph cluster277 {
isCluster="true";
id="cluster277";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n320 ms (0 ms, 4 ms, 77 ms (stage 615.0: task 6317))";
tooltip="WholeStageCodegen (3)";
278 [id="node278" 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>3 ms (0 ms, 0 ms, 2 ms (stage 615.0: task 6317))<br>peak memory total (min, med, max (stageId: taskId))<br>18.5 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 615.0: task 6317))<br>number of output rows: 9,999<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[shardId#16919, worklistShardItemId#16920L], functions=[partial_max(version#16921)])"];
279 [id="node279" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter (isnotnull(shardId#16919) AND isnotnull(worklistShardItemId#16920L))"];
}
280 [id="node280" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#16919, worklistShardItemId#16920L, version#16921], [isnotnull(shardId#16919), isnotnull(worklistShardItemId#16920L)]"];
281 [id="node281" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster282 {
isCluster="true";
id="cluster282";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
283 [id="node283" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452, null AS demandChannel#13245, null AS demandStream#13246, [] AS kpis#13280, true AS isNewlyCalculated#13248]"];
284 [id="node284" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452)], [coalesce(shardId#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012)], LeftAnti"];
}
subgraph cluster285 {
isCluster="true";
id="cluster285";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
286 [id="node286" 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 [coalesce(shardId#445, ) ASC NULLS FIRST, isnull(shardId#445) ASC NULLS FIRST, coalesce(worklistShardItemId#446L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#446L) ASC NULLS FIRST, coalesce(version#447, 0) ASC NULLS FIRST, isnull(version#447) ASC NULLS FIRST, coalesce(product#448, ) ASC NULLS FIRST, isnull(product#448) ASC NULLS FIRST, coalesce(plant#449, ) ASC NULLS FIRST, isnull(plant#449) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))) ASC NULLS FIRST, isnull(qty#452) ASC NULLS FIRST], false, 0"];
}
287 [id="node287" 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(coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452), 37), ENSURE_REQUIREMENTS, [plan_id=114079]"];
288 [id="node288" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452]"];
289 [id="node289" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster290 {
isCluster="true";
id="cluster290";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
291 [id="node291" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster292 {
isCluster="true";
id="cluster292";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
293 [id="node293" 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 [coalesce(shardId#13237, ) ASC NULLS FIRST, isnull(shardId#13237) ASC NULLS FIRST, coalesce(worklistShardItemId#13238L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#13238L) ASC NULLS FIRST, coalesce(version#13239, 0) ASC NULLS FIRST, isnull(version#13239) ASC NULLS FIRST, coalesce(product#13240, ) ASC NULLS FIRST, isnull(product#13240) ASC NULLS FIRST, coalesce(plant#13241, ) ASC NULLS FIRST, isnull(plant#13241) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))) ASC NULLS FIRST, isnull(qty#13012) ASC NULLS FIRST], false, 0"];
}
294 [id="node294" 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(coalesce(shardId#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012), 37), ENSURE_REQUIREMENTS, [plan_id=114108]"];
295 [id="node295" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
296 [id="node296" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#13237, worklistShardItemId#13238L, version#13239, product#13240, plant#13241, qty#13012]"];
subgraph cluster297 {
isCluster="true";
id="cluster297";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
298 [id="node298" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
299 [id="node299" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster300 {
isCluster="true";
id="cluster300";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
301 [id="node301" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
302 [id="node302" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
303 [id="node303" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
304 [id="node304" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
305 [id="node305" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster306 {
isCluster="true";
id="cluster306";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
307 [id="node307" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
308 [id="node308" 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#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
subgraph cluster309 {
isCluster="true";
id="cluster309";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
310 [id="node310" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
311 [id="node311" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
312 [id="node312" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster313 {
isCluster="true";
id="cluster313";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
314 [id="node314" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster315 {
isCluster="true";
id="cluster315";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
316 [id="node316" 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 [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
317 [id="node317" 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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster318 {
isCluster="true";
id="cluster318";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
319 [id="node319" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
320 [id="node320" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
321 [id="node321" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster322 {
isCluster="true";
id="cluster322";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
323 [id="node323" 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 [cachedWorklistShardItemId#13009L ASC NULLS FIRST, cachedShardId#13008 ASC NULLS FIRST], false, 0"];
}
324 [id="node324" 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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster325 {
isCluster="true";
id="cluster325";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
326 [id="node326" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
327 [id="node327" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
328 [id="node328" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
subgraph cluster329 {
isCluster="true";
id="cluster329";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
330 [id="node330" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226]"];
331 [id="node331" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#13220L, shardId#13219], [cachedWorklistShardItemId#13234L, cachedShardId#13233], Inner"];
}
subgraph cluster332 {
isCluster="true";
id="cluster332";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
333 [id="node333" 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#13220L ASC NULLS FIRST, shardId#13219 ASC NULLS FIRST], false, 0"];
}
334 [id="node334" 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#13220L, shardId#13219, 37), ENSURE_REQUIREMENTS, [plan_id=114093]"];
subgraph cluster335 {
isCluster="true";
id="cluster335";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
336 [id="node336" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#13226) AND isnotnull(worklistShardItemId#13220L)) AND isnotnull(shardId#13219))"];
}
337 [id="node337" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226], [isnull(qty#13226), isnotnull(worklistShardItemId#13220L), isnotnull(shardId#13219)]"];
338 [id="node338" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster339 {
isCluster="true";
id="cluster339";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
340 [id="node340" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster341 {
isCluster="true";
id="cluster341";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
342 [id="node342" 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 [cachedWorklistShardItemId#13234L ASC NULLS FIRST, cachedShardId#13233 ASC NULLS FIRST], false, 0"];
}
343 [id="node343" 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(cachedWorklistShardItemId#13234L, cachedShardId#13233, 37), ENSURE_REQUIREMENTS, [plan_id=114099]"];
subgraph cluster344 {
isCluster="true";
id="cluster344";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
345 [id="node345" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13227 AS cachedShardId#13233, worklistShardItemId#13228L AS cachedWorklistShardItemId#13234L]"];
346 [id="node346" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13228L) AND isnotnull(shardId#13227))"];
347 [id="node347" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13227,worklistShardItemId#13228L,qty#13229,demandChannel#13230,demandStream#13231,kpis#13232]"];
}
subgraph cluster348 {
isCluster="true";
id="cluster348";
label="WholeStageCodegen (9)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (9)";
349 [id="node349" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13250, worklistShardItemId#13251L, version#13252, product#13253, plant#13254, qty#13278, demandChannel#13271, demandStream#13272, kpis#13279, false AS isNewlyCalculated#13249]"];
}
350 [id="node350" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#13271, demandStream#13272, kpis#13279, plant#13254, product#13253, qty#13278, shardId#13250, version#13252, worklistShardItemId#13251L]"];
subgraph cluster351 {
isCluster="true";
id="cluster351";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
352 [id="node352" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
353 [id="node353" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster354 {
isCluster="true";
id="cluster354";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
355 [id="node355" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
356 [id="node356" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
357 [id="node357" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
358 [id="node358" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
359 [id="node359" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster360 {
isCluster="true";
id="cluster360";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
361 [id="node361" 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#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
362 [id="node362" 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#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
subgraph cluster363 {
isCluster="true";
id="cluster363";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
364 [id="node364" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
365 [id="node365" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
366 [id="node366" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster367 {
isCluster="true";
id="cluster367";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
368 [id="node368" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster369 {
isCluster="true";
id="cluster369";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
370 [id="node370" 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 [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
371 [id="node371" 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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster372 {
isCluster="true";
id="cluster372";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
373 [id="node373" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
374 [id="node374" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
375 [id="node375" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster376 {
isCluster="true";
id="cluster376";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
377 [id="node377" 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 [cachedWorklistShardItemId#13009L ASC NULLS FIRST, cachedShardId#13008 ASC NULLS FIRST], false, 0"];
}
378 [id="node378" 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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster379 {
isCluster="true";
id="cluster379";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
380 [id="node380" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
381 [id="node381" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
382 [id="node382" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
1->0;
3->1;
4->3;
5->4;
7->5;
8->7;
9->8;
10->9;
12->10;
13->12;
15->13;
16->15;
17->16;
18->17;
20->18;
22->13;
23->22;
24->23;
25->24;
27->25;
28->27;
30->28;
31->30;
32->31;
33->32;
34->33;
36->34;
37->36;
39->37;
40->39;
41->40;
43->41;
45->34;
46->45;
48->46;
49->48;
50->49;
52->28;
53->52;
55->53;
56->55;
57->56;
59->24;
60->59;
62->60;
63->62;
65->63;
66->65;
67->66;
69->67;
71->60;
72->71;
74->72;
75->74;
76->75;
78->10;
79->78;
81->79;
82->81;
84->82;
85->84;
86->85;
87->86;
88->87;
90->88;
91->90;
93->91;
94->93;
95->94;
97->95;
99->88;
100->99;
102->100;
103->102;
104->103;
106->82;
107->106;
109->107;
110->109;
111->110;
113->5;
114->113;
115->114;
117->115;
118->117;
119->118;
121->119;
122->121;
123->122;
125->123;
126->125;
127->126;
128->127;
129->128;
131->129;
132->131;
133->132;
134->133;
135->134;
136->127;
138->136;
139->138;
140->139;
141->140;
143->141;
144->143;
145->144;
146->145;
147->146;
148->127;
150->148;
151->150;
152->151;
153->152;
155->153;
156->155;
157->156;
158->157;
159->158;
161->123;
162->161;
164->162;
165->164;
167->165;
168->167;
169->168;
170->169;
171->170;
173->171;
174->173;
176->174;
177->176;
178->177;
179->178;
181->179;
183->174;
184->183;
185->184;
186->185;
188->186;
189->188;
191->189;
192->191;
193->192;
194->193;
195->194;
197->195;
198->197;
200->198;
201->200;
202->201;
204->202;
206->195;
207->206;
209->207;
210->209;
211->210;
213->189;
214->213;
216->214;
217->216;
218->217;
220->185;
221->220;
223->221;
224->223;
226->224;
227->226;
228->227;
230->228;
232->221;
233->232;
235->233;
236->235;
237->236;
239->171;
240->239;
242->240;
243->242;
245->243;
246->245;
247->246;
248->247;
249->248;
251->249;
252->251;
254->252;
255->254;
256->255;
258->256;
260->249;
261->260;
263->261;
264->263;
265->264;
267->243;
268->267;
270->268;
271->270;
272->271;
273->4;
275->273;
276->275;
278->276;
279->278;
280->279;
281->280;
283->281;
284->283;
286->284;
287->286;
288->287;
289->288;
291->289;
293->284;
294->293;
295->294;
296->295;
298->296;
299->298;
301->299;
302->301;
303->302;
304->303;
305->304;
307->305;
308->307;
310->308;
311->310;
312->311;
314->312;
316->305;
317->316;
319->317;
320->319;
321->320;
323->299;
324->323;
326->324;
327->326;
328->327;
330->295;
331->330;
333->331;
334->333;
336->334;
337->336;
338->337;
340->338;
342->331;
343->342;
345->343;
346->345;
347->346;
349->281;
350->349;
352->350;
353->352;
355->353;
356->355;
357->356;
358->357;
359->358;
361->359;
362->361;
364->362;
365->364;
366->365;
368->366;
370->359;
371->370;
373->371;
374->373;
375->374;
377->353;
378->377;
380->378;
381->380;
382->381;
}