digraph G {
0 [id="node0" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 39,996" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#16822, qty#452, demandChannel#13245, demandStream#13246, kpis#13280]"];
subgraph cluster1 {
isCluster="true";
id="cluster1";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
2 [id="node2" 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]"];
3 [id="node3" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [shardId#445, worklistShardItemId#446L], [shardId#16919, worklistShardItemId#16920L], Inner, BuildRight, false"];
}
4 [id="node4" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster5 {
isCluster="true";
id="cluster5";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
6 [id="node6" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, qty#452, demandChannel#13245, demandStream#13246, kpis#13280]"];
7 [id="node7" 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))"];
}
8 [id="node8" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" 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)]"];
9 [id="node9" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster10 {
isCluster="true";
id="cluster10";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
11 [id="node11" 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]"];
12 [id="node12" 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 cluster13 {
isCluster="true";
id="cluster13";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
14 [id="node14" 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"];
}
15 [id="node15" 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]"];
16 [id="node16" 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]"];
17 [id="node17" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster18 {
isCluster="true";
id="cluster18";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
19 [id="node19" 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 cluster20 {
isCluster="true";
id="cluster20";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
21 [id="node21" 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"];
}
22 [id="node22" 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]"];
23 [id="node23" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
24 [id="node24" 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 cluster25 {
isCluster="true";
id="cluster25";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
26 [id="node26" 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]"];
27 [id="node27" 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 cluster28 {
isCluster="true";
id="cluster28";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
29 [id="node29" 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"];
30 [id="node30" 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=[])"];
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="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
33 [id="node33" 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 cluster34 {
isCluster="true";
id="cluster34";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
35 [id="node35" 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"];
}
36 [id="node36" 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 cluster37 {
isCluster="true";
id="cluster37";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
38 [id="node38" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
39 [id="node39" 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)]"];
40 [id="node40" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster41 {
isCluster="true";
id="cluster41";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
42 [id="node42" 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 cluster43 {
isCluster="true";
id="cluster43";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
44 [id="node44" 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"];
}
45 [id="node45" 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 cluster46 {
isCluster="true";
id="cluster46";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
47 [id="node47" 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]"];
48 [id="node48" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
49 [id="node49" 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 cluster50 {
isCluster="true";
id="cluster50";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
51 [id="node51" 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"];
}
52 [id="node52" 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 cluster53 {
isCluster="true";
id="cluster53";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
54 [id="node54" 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]"];
55 [id="node55" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
56 [id="node56" 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 cluster57 {
isCluster="true";
id="cluster57";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
58 [id="node58" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226]"];
59 [id="node59" 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 cluster60 {
isCluster="true";
id="cluster60";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
61 [id="node61" 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"];
}
62 [id="node62" 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 cluster63 {
isCluster="true";
id="cluster63";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
64 [id="node64" 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))"];
}
65 [id="node65" 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)]"];
66 [id="node66" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster67 {
isCluster="true";
id="cluster67";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
68 [id="node68" 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 cluster69 {
isCluster="true";
id="cluster69";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
70 [id="node70" 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"];
}
71 [id="node71" 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 cluster72 {
isCluster="true";
id="cluster72";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
73 [id="node73" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13227 AS cachedShardId#13233, worklistShardItemId#13228L AS cachedWorklistShardItemId#13234L]"];
74 [id="node74" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13228L) AND isnotnull(shardId#13227))"];
75 [id="node75" 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 cluster76 {
isCluster="true";
id="cluster76";
label="WholeStageCodegen (9)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (9)";
77 [id="node77" 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]"];
}
78 [id="node78" 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 cluster79 {
isCluster="true";
id="cluster79";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
80 [id="node80" 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]"];
81 [id="node81" 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 cluster82 {
isCluster="true";
id="cluster82";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
83 [id="node83" 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"];
84 [id="node84" 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=[])"];
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="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
87 [id="node87" 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 cluster88 {
isCluster="true";
id="cluster88";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
89 [id="node89" 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"];
}
90 [id="node90" 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 cluster91 {
isCluster="true";
id="cluster91";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
92 [id="node92" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
93 [id="node93" 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)]"];
94 [id="node94" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster95 {
isCluster="true";
id="cluster95";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
96 [id="node96" 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 cluster97 {
isCluster="true";
id="cluster97";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
98 [id="node98" 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"];
}
99 [id="node99" 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 cluster100 {
isCluster="true";
id="cluster100";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
101 [id="node101" 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]"];
102 [id="node102" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
103 [id="node103" 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 cluster104 {
isCluster="true";
id="cluster104";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
105 [id="node105" 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"];
}
106 [id="node106" 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 cluster107 {
isCluster="true";
id="cluster107";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
108 [id="node108" 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]"];
109 [id="node109" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
110 [id="node110" 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 cluster111 {
isCluster="true";
id="cluster111";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
112 [id="node112" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(shardId#16827) AND isnotnull(worklistShardItemId#16828L))"];
}
113 [id="node113" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#16827, worklistShardItemId#16828L, qty#16009, demandChannel#15989, demandStream#15990, kpis#16018], [isnotnull(shardId#16827), isnotnull(worklistShardItemId#16828L)]"];
114 [id="node114" 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 cluster115 {
isCluster="true";
id="cluster115";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
116 [id="node116" 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"];
}
117 [id="node117" 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]"];
118 [id="node118" 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 cluster119 {
isCluster="true";
id="cluster119";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
120 [id="node120" 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"];
121 [id="node121" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, qty#16009, demandChannel#15989, demandStream#15990, kpis#16018]"];
122 [id="node122" 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 cluster123 {
isCluster="true";
id="cluster123";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
124 [id="node124" 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"];
}
125 [id="node125" 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]"];
126 [id="node126" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
127 [id="node127" 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]"];
128 [id="node128" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [prodPlantResults#15963]"];
subgraph cluster129 {
isCluster="true";
id="cluster129";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
130 [id="node130" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#15956), false, [prodPlantResults#15963]"];
131 [id="node131" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#15956]"];
132 [id="node132" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#15956, true) > 0) AND isnotnull(prodPlantResults#15956))"];
133 [id="node133" 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]"];
}
134 [id="node134" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#15952]"];
135 [id="node135" 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 cluster136 {
isCluster="true";
id="cluster136";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
137 [id="node137" 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]"];
138 [id="node138" 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]"];
139 [id="node139" 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))"];
}
140 [id="node140" 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 cluster141 {
isCluster="true";
id="cluster141";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
142 [id="node142" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#15956), false, [prodPlantResults#15963]"];
143 [id="node143" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#15956]"];
144 [id="node144" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#15956, true) > 0) AND isnotnull(prodPlantResults#15956))"];
145 [id="node145" 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]"];
}
146 [id="node146" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#15952]"];
147 [id="node147" 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 cluster148 {
isCluster="true";
id="cluster148";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
149 [id="node149" 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]"];
150 [id="node150" 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]"];
151 [id="node151" 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))"];
}
152 [id="node152" 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 cluster153 {
isCluster="true";
id="cluster153";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
154 [id="node154" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#15956), false, [prodPlantResults#15963]"];
155 [id="node155" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#15956]"];
156 [id="node156" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#15956, true) > 0) AND isnotnull(prodPlantResults#15956))"];
157 [id="node157" 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]"];
}
158 [id="node158" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#15952]"];
subgraph cluster159 {
isCluster="true";
id="cluster159";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
160 [id="node160" 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"];
}
161 [id="node161" 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 cluster162 {
isCluster="true";
id="cluster162";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
163 [id="node163" 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=[])"];
}
164 [id="node164" 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 cluster165 {
isCluster="true";
id="cluster165";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
166 [id="node166" 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=[])"];
167 [id="node167" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, product#448, plant#449, qty#452]"];
168 [id="node168" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter isNewlyCalculated#13248: boolean"];
}
169 [id="node169" 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]"];
170 [id="node170" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster171 {
isCluster="true";
id="cluster171";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
172 [id="node172" 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]"];
173 [id="node173" 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 cluster174 {
isCluster="true";
id="cluster174";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
175 [id="node175" 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"];
}
176 [id="node176" 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]"];
177 [id="node177" 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]"];
178 [id="node178" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster179 {
isCluster="true";
id="cluster179";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
180 [id="node180" 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 cluster181 {
isCluster="true";
id="cluster181";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
182 [id="node182" 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"];
}
183 [id="node183" 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]"];
184 [id="node184" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
185 [id="node185" 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 cluster186 {
isCluster="true";
id="cluster186";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
187 [id="node187" 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]"];
188 [id="node188" 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 cluster189 {
isCluster="true";
id="cluster189";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
190 [id="node190" 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"];
191 [id="node191" 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=[])"];
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="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
194 [id="node194" 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 cluster195 {
isCluster="true";
id="cluster195";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
196 [id="node196" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
197 [id="node197" 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 cluster198 {
isCluster="true";
id="cluster198";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
199 [id="node199" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
200 [id="node200" 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)]"];
201 [id="node201" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster202 {
isCluster="true";
id="cluster202";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
203 [id="node203" 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 cluster204 {
isCluster="true";
id="cluster204";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
205 [id="node205" 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"];
}
206 [id="node206" 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 cluster207 {
isCluster="true";
id="cluster207";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
208 [id="node208" 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]"];
209 [id="node209" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
210 [id="node210" 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 cluster211 {
isCluster="true";
id="cluster211";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
212 [id="node212" 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"];
}
213 [id="node213" 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 cluster214 {
isCluster="true";
id="cluster214";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
215 [id="node215" 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]"];
216 [id="node216" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
217 [id="node217" 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 cluster218 {
isCluster="true";
id="cluster218";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
219 [id="node219" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226]"];
220 [id="node220" 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 cluster221 {
isCluster="true";
id="cluster221";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
222 [id="node222" 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"];
}
223 [id="node223" 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 cluster224 {
isCluster="true";
id="cluster224";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
225 [id="node225" 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))"];
}
226 [id="node226" 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)]"];
227 [id="node227" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster228 {
isCluster="true";
id="cluster228";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
229 [id="node229" 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 cluster230 {
isCluster="true";
id="cluster230";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
231 [id="node231" 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"];
}
232 [id="node232" 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 cluster233 {
isCluster="true";
id="cluster233";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
234 [id="node234" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13227 AS cachedShardId#13233, worklistShardItemId#13228L AS cachedWorklistShardItemId#13234L]"];
235 [id="node235" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13228L) AND isnotnull(shardId#13227))"];
236 [id="node236" 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 cluster237 {
isCluster="true";
id="cluster237";
label="WholeStageCodegen (9)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (9)";
238 [id="node238" 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]"];
}
239 [id="node239" 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 cluster240 {
isCluster="true";
id="cluster240";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
241 [id="node241" 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]"];
242 [id="node242" 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 cluster243 {
isCluster="true";
id="cluster243";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
244 [id="node244" 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"];
245 [id="node245" 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=[])"];
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="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
248 [id="node248" 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 cluster249 {
isCluster="true";
id="cluster249";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
250 [id="node250" 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"];
}
251 [id="node251" 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 cluster252 {
isCluster="true";
id="cluster252";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
253 [id="node253" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
254 [id="node254" 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)]"];
255 [id="node255" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster256 {
isCluster="true";
id="cluster256";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
257 [id="node257" 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 cluster258 {
isCluster="true";
id="cluster258";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
259 [id="node259" 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"];
}
260 [id="node260" 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 cluster261 {
isCluster="true";
id="cluster261";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
262 [id="node262" 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]"];
263 [id="node263" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
264 [id="node264" 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 cluster265 {
isCluster="true";
id="cluster265";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
266 [id="node266" 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"];
}
267 [id="node267" 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 cluster268 {
isCluster="true";
id="cluster268";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
269 [id="node269" 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]"];
270 [id="node270" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
271 [id="node271" 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]"];
}
272 [id="node272" labelType="html" label="<br><b>BroadcastExchange</b><br><br>" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, true], input[1, bigint, true]),false), [plan_id=115549]"];
subgraph cluster273 {
isCluster="true";
id="cluster273";
label="WholeStageCodegen (4)";
tooltip="WholeStageCodegen (4)";
274 [id="node274" labelType="html" label="<br><b>HashAggregate</b><br><br>" tooltip="HashAggregate(keys=[shardId#16919, worklistShardItemId#16920L], functions=[max(version#16921)])"];
}
275 [id="node275" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(shardId#16919, worklistShardItemId#16920L, 37), ENSURE_REQUIREMENTS, [plan_id=115545]"];
subgraph cluster276 {
isCluster="true";
id="cluster276";
label="WholeStageCodegen (3)";
tooltip="WholeStageCodegen (3)";
277 [id="node277" labelType="html" label="<br><b>HashAggregate</b><br><br>" tooltip="HashAggregate(keys=[shardId#16919, worklistShardItemId#16920L], functions=[partial_max(version#16921)])"];
278 [id="node278" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (isnotnull(shardId#16919) AND isnotnull(worklistShardItemId#16920L))"];
}
279 [id="node279" labelType="html" label="<br><b>InMemoryTableScan</b><br><br>" tooltip="InMemoryTableScan [shardId#16919, worklistShardItemId#16920L, version#16921], [isnotnull(shardId#16919), isnotnull(worklistShardItemId#16920L)]"];
280 [id="node280" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster281 {
isCluster="true";
id="cluster281";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
282 [id="node282" 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]"];
283 [id="node283" 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 cluster284 {
isCluster="true";
id="cluster284";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
285 [id="node285" 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"];
}
286 [id="node286" 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]"];
287 [id="node287" 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]"];
288 [id="node288" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster289 {
isCluster="true";
id="cluster289";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
290 [id="node290" 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 cluster291 {
isCluster="true";
id="cluster291";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
292 [id="node292" 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"];
}
293 [id="node293" 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]"];
294 [id="node294" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
295 [id="node295" 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 cluster296 {
isCluster="true";
id="cluster296";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
297 [id="node297" 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]"];
298 [id="node298" 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 cluster299 {
isCluster="true";
id="cluster299";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
300 [id="node300" 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"];
301 [id="node301" 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=[])"];
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="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
304 [id="node304" 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 cluster305 {
isCluster="true";
id="cluster305";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
306 [id="node306" 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"];
}
307 [id="node307" 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 cluster308 {
isCluster="true";
id="cluster308";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
309 [id="node309" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
310 [id="node310" 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)]"];
311 [id="node311" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster312 {
isCluster="true";
id="cluster312";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
313 [id="node313" 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 cluster314 {
isCluster="true";
id="cluster314";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
315 [id="node315" 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"];
}
316 [id="node316" 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 cluster317 {
isCluster="true";
id="cluster317";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
318 [id="node318" 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]"];
319 [id="node319" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
320 [id="node320" 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 cluster321 {
isCluster="true";
id="cluster321";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
322 [id="node322" 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"];
}
323 [id="node323" 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 cluster324 {
isCluster="true";
id="cluster324";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
325 [id="node325" 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]"];
326 [id="node326" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
327 [id="node327" 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 cluster328 {
isCluster="true";
id="cluster328";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
329 [id="node329" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226]"];
330 [id="node330" 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 cluster331 {
isCluster="true";
id="cluster331";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
332 [id="node332" 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"];
}
333 [id="node333" 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 cluster334 {
isCluster="true";
id="cluster334";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
335 [id="node335" 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))"];
}
336 [id="node336" 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)]"];
337 [id="node337" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster338 {
isCluster="true";
id="cluster338";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
339 [id="node339" 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 cluster340 {
isCluster="true";
id="cluster340";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
341 [id="node341" 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"];
}
342 [id="node342" 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 cluster343 {
isCluster="true";
id="cluster343";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
344 [id="node344" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13227 AS cachedShardId#13233, worklistShardItemId#13228L AS cachedWorklistShardItemId#13234L]"];
345 [id="node345" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13228L) AND isnotnull(shardId#13227))"];
346 [id="node346" 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 cluster347 {
isCluster="true";
id="cluster347";
label="WholeStageCodegen (9)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (9)";
348 [id="node348" 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]"];
}
349 [id="node349" 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 cluster350 {
isCluster="true";
id="cluster350";
label="WholeStageCodegen (8)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (8)";
351 [id="node351" 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]"];
352 [id="node352" 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 cluster353 {
isCluster="true";
id="cluster353";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
354 [id="node354" 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"];
355 [id="node355" 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=[])"];
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="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
358 [id="node358" 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 cluster359 {
isCluster="true";
id="cluster359";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
360 [id="node360" 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"];
}
361 [id="node361" 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 cluster362 {
isCluster="true";
id="cluster362";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
363 [id="node363" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
364 [id="node364" 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)]"];
365 [id="node365" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster366 {
isCluster="true";
id="cluster366";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
367 [id="node367" 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 cluster368 {
isCluster="true";
id="cluster368";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
369 [id="node369" 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"];
}
370 [id="node370" 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 cluster371 {
isCluster="true";
id="cluster371";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
372 [id="node372" 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]"];
373 [id="node373" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
374 [id="node374" 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 cluster375 {
isCluster="true";
id="cluster375";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
376 [id="node376" 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"];
}
377 [id="node377" 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 cluster378 {
isCluster="true";
id="cluster378";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
379 [id="node379" 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]"];
380 [id="node380" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
381 [id="node381" 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]"];
}
2->0;
3->2;
4->3;
6->4;
7->6;
8->7;
9->8;
11->9;
12->11;
14->12;
15->14;
16->15;
17->16;
19->17;
21->12;
22->21;
23->22;
24->23;
26->24;
27->26;
29->27;
30->29;
31->30;
32->31;
33->32;
35->33;
36->35;
38->36;
39->38;
40->39;
42->40;
44->33;
45->44;
47->45;
48->47;
49->48;
51->27;
52->51;
54->52;
55->54;
56->55;
58->23;
59->58;
61->59;
62->61;
64->62;
65->64;
66->65;
68->66;
70->59;
71->70;
73->71;
74->73;
75->74;
77->9;
78->77;
80->78;
81->80;
83->81;
84->83;
85->84;
86->85;
87->86;
89->87;
90->89;
92->90;
93->92;
94->93;
96->94;
98->87;
99->98;
101->99;
102->101;
103->102;
105->81;
106->105;
108->106;
109->108;
110->109;
112->4;
113->112;
114->113;
116->114;
117->116;
118->117;
120->118;
121->120;
122->121;
124->122;
125->124;
126->125;
127->126;
128->127;
130->128;
131->130;
132->131;
133->132;
134->133;
135->126;
137->135;
138->137;
139->138;
140->139;
142->140;
143->142;
144->143;
145->144;
146->145;
147->126;
149->147;
150->149;
151->150;
152->151;
154->152;
155->154;
156->155;
157->156;
158->157;
160->122;
161->160;
163->161;
164->163;
166->164;
167->166;
168->167;
169->168;
170->169;
172->170;
173->172;
175->173;
176->175;
177->176;
178->177;
180->178;
182->173;
183->182;
184->183;
185->184;
187->185;
188->187;
190->188;
191->190;
192->191;
193->192;
194->193;
196->194;
197->196;
199->197;
200->199;
201->200;
203->201;
205->194;
206->205;
208->206;
209->208;
210->209;
212->188;
213->212;
215->213;
216->215;
217->216;
219->184;
220->219;
222->220;
223->222;
225->223;
226->225;
227->226;
229->227;
231->220;
232->231;
234->232;
235->234;
236->235;
238->170;
239->238;
241->239;
242->241;
244->242;
245->244;
246->245;
247->246;
248->247;
250->248;
251->250;
253->251;
254->253;
255->254;
257->255;
259->248;
260->259;
262->260;
263->262;
264->263;
266->242;
267->266;
269->267;
270->269;
271->270;
272->3;
274->272;
275->274;
277->275;
278->277;
279->278;
280->279;
282->280;
283->282;
285->283;
286->285;
287->286;
288->287;
290->288;
292->283;
293->292;
294->293;
295->294;
297->295;
298->297;
300->298;
301->300;
302->301;
303->302;
304->303;
306->304;
307->306;
309->307;
310->309;
311->310;
313->311;
315->304;
316->315;
318->316;
319->318;
320->319;
322->298;
323->322;
325->323;
326->325;
327->326;
329->294;
330->329;
332->330;
333->332;
335->333;
336->335;
337->336;
339->337;
341->330;
342->341;
344->342;
345->344;
346->345;
348->280;
349->348;
351->349;
352->351;
354->352;
355->354;
356->355;
357->356;
358->357;
360->358;
361->360;
363->361;
364->363;
365->364;
367->365;
369->358;
370->369;
372->370;
373->372;
374->373;
376->352;
377->376;
379->377;
380->379;
381->380;
}