digraph G {
0 [id="node0" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 13" tooltip="InMemoryTableScan [shardId#1011815, worklistShardItemId#1011816L, version#1054022, qty#1011822, demandChannel#1050653, demandStream#1050654, kpis#1050688]"];
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#1011815, worklistShardItemId#1011816L, version#1054022, qty#1011822, demandChannel#1050653, demandStream#1050654, kpis#1050688]"];
3 [id="node3" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [shardId#1011815, worklistShardItemId#1011816L], [shardId#1054119, worklistShardItemId#1054120L], 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#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1050653, demandStream#1050654, kpis#1050688]"];
7 [id="node7" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((NOT isNewlyCalculated#1050656 AND isnotnull(shardId#1011815)) AND isnotnull(worklistShardItemId#1011816L))"];
}
8 [id="node8" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#1050653, demandStream#1050654, isNewlyCalculated#1050656, kpis#1050688, qty#1011822, shardId#1011815, worklistShardItemId#1011816L], [NOT isNewlyCalculated#1050656, isnotnull(shardId#1011815), isnotnull(worklistShardItemId#1011816L)]"];
9 [id="node9" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster10 {
isCluster="true";
id="cluster10";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
11 [id="node11" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, null AS demandChannel#1050653, null AS demandStream#1050654, [] AS kpis#1050688, true AS isNewlyCalculated#1050656]"];
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#1011815, ), isnull(shardId#1011815), coalesce(worklistShardItemId#1011816L, 0), isnull(worklistShardItemId#1011816L), coalesce(version#1011817, 0), isnull(version#1011817), coalesce(product#1011818, ), isnull(product#1011818), coalesce(plant#1011819, ), isnull(plant#1011819), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1011822, 0.0))), isnull(qty#1011822)], [coalesce(shardId#1050645, ), isnull(shardId#1050645), coalesce(worklistShardItemId#1050646L, 0), isnull(worklistShardItemId#1050646L), coalesce(version#1050647, 0), isnull(version#1050647), coalesce(product#1050648, ), isnull(product#1050648), coalesce(plant#1050649, ), isnull(plant#1050649), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1050420, 0.0))), isnull(qty#1050420)], 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#1011815, ) ASC NULLS FIRST, isnull(shardId#1011815) ASC NULLS FIRST, coalesce(worklistShardItemId#1011816L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#1011816L) ASC NULLS FIRST, coalesce(version#1011817, 0) ASC NULLS FIRST, isnull(version#1011817) ASC NULLS FIRST, coalesce(product#1011818, ) ASC NULLS FIRST, isnull(product#1011818) ASC NULLS FIRST, coalesce(plant#1011819, ) ASC NULLS FIRST, isnull(plant#1011819) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1011822, 0.0))) ASC NULLS FIRST, isnull(qty#1011822) 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#1011815, ), isnull(shardId#1011815), coalesce(worklistShardItemId#1011816L, 0), isnull(worklistShardItemId#1011816L), coalesce(version#1011817, 0), isnull(version#1011817), coalesce(product#1011818, ), isnull(product#1011818), coalesce(plant#1011819, ), isnull(plant#1011819), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1011822, 0.0))), isnull(qty#1011822), 37), ENSURE_REQUIREMENTS, [plan_id=1684799]"];
16 [id="node16" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822]"];
17 [id="node17" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
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#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster20 {
isCluster="true";
id="cluster20";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
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#1050645, ) ASC NULLS FIRST, isnull(shardId#1050645) ASC NULLS FIRST, coalesce(worklistShardItemId#1050646L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#1050646L) ASC NULLS FIRST, coalesce(version#1050647, 0) ASC NULLS FIRST, isnull(version#1050647) ASC NULLS FIRST, coalesce(product#1050648, ) ASC NULLS FIRST, isnull(product#1050648) ASC NULLS FIRST, coalesce(plant#1050649, ) ASC NULLS FIRST, isnull(plant#1050649) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1050420, 0.0))) ASC NULLS FIRST, isnull(qty#1050420) 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#1050645, ), isnull(shardId#1050645), coalesce(worklistShardItemId#1050646L, 0), isnull(worklistShardItemId#1050646L), coalesce(version#1050647, 0), isnull(version#1050647), coalesce(product#1050648, ), isnull(product#1050648), coalesce(plant#1050649, ), isnull(plant#1050649), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1050420, 0.0))), isnull(qty#1050420), 37), ENSURE_REQUIREMENTS, [plan_id=1684819]"];
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#1050645, worklistShardItemId#1050646L, version#1050647, product#1050648, plant#1050649, qty#1050420]"];
subgraph cluster25 {
isCluster="true";
id="cluster25";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
26 [id="node26" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1050418 AS qty#1050420, demandChannel#1050413, demandStream#1050414, cachedKpis#1050419 AS kpis#1050421]"];
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#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050417L, cachedShardId#1050416], Inner"];
}
subgraph cluster28 {
isCluster="true";
id="cluster28";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
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#1011816L ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST], false, 0"];
}
30 [id="node30" 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#1011816L, shardId#1011815, 37), ENSURE_REQUIREMENTS, [plan_id=1684687]"];
subgraph cluster31 {
isCluster="true";
id="cluster31";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
32 [id="node32" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
}
33 [id="node33" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818, 37), ENSURE_REQUIREMENTS, [plan_id=1684683]"];
subgraph cluster34 {
isCluster="true";
id="cluster34";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
35 [id="node35" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
36 [id="node36" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
37 [id="node37" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050407L, cachedShardId#1050406], Inner, BuildLeft, ((qty#1011822 = cachedQty#1050408) OR isnull(qty#1011822)), false"];
45 [id="node45" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050400 AS cachedShardId#1050406, worklistShardItemId#1050401L AS cachedWorklistShardItemId#1050407L, qty#1050402 AS cachedQty#1050408]"];
46 [id="node46" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050401L) AND isnotnull(shardId#1050400))"];
47 [id="node47" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050400,worklistShardItemId#1050401L,qty#1050402,demandChannel#1050403,demandStream#1050404,kpis#1050405]"];
}
38 [id="node38" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1684677]"];
subgraph cluster39 {
isCluster="true";
id="cluster39";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
40 [id="node40" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
41 [id="node41" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822], [isnotnull(worklistShardItemId#1011816L), isnotnull(shardId#1011815)]"];
42 [id="node42" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
subgraph cluster43 {
isCluster="true";
id="cluster43";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
44 [id="node44" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster48 {
isCluster="true";
id="cluster48";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
49 [id="node49" 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#1050417L ASC NULLS FIRST, cachedShardId#1050416 ASC NULLS FIRST], false, 0"];
}
50 [id="node50" 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#1050417L, cachedShardId#1050416, 37), ENSURE_REQUIREMENTS, [plan_id=1684693]"];
subgraph cluster51 {
isCluster="true";
id="cluster51";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
52 [id="node52" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050410 AS cachedShardId#1050416, worklistShardItemId#1050411L AS cachedWorklistShardItemId#1050417L, qty#1050412 AS cachedQty#1050418, demandChannel#1050413, demandStream#1050414, kpis#1050415 AS cachedKpis#1050419]"];
53 [id="node53" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050411L) AND isnotnull(shardId#1050410))"];
54 [id="node54" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050410,worklistShardItemId#1050411L,qty#1050412,demandChannel#1050413,demandStream#1050414,kpis#1050415]"];
}
subgraph cluster55 {
isCluster="true";
id="cluster55";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
56 [id="node56" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050627, worklistShardItemId#1050628L, version#1050629, product#1050630, plant#1050631, qty#1050634]"];
57 [id="node57" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1050628L, shardId#1050627], [cachedWorklistShardItemId#1050642L, cachedShardId#1050641], Inner, BuildLeft, false"];
65 [id="node65" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050635 AS cachedShardId#1050641, worklistShardItemId#1050636L AS cachedWorklistShardItemId#1050642L]"];
66 [id="node66" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050636L) AND isnotnull(shardId#1050635))"];
67 [id="node67" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050635,worklistShardItemId#1050636L,qty#1050637,demandChannel#1050638,demandStream#1050639,kpis#1050640]"];
}
58 [id="node58" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1684813]"];
subgraph cluster59 {
isCluster="true";
id="cluster59";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
60 [id="node60" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#1050634) AND isnotnull(worklistShardItemId#1050628L)) AND isnotnull(shardId#1050627))"];
}
61 [id="node61" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1050627, worklistShardItemId#1050628L, version#1050629, product#1050630, plant#1050631, qty#1050634], [isnull(qty#1050634), isnotnull(worklistShardItemId#1050628L), isnotnull(shardId#1050627)]"];
62 [id="node62" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
subgraph cluster63 {
isCluster="true";
id="cluster63";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
64 [id="node64" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster68 {
isCluster="true";
id="cluster68";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
69 [id="node69" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050658, worklistShardItemId#1050659L, version#1050660, product#1050661, plant#1050662, qty#1050686, demandChannel#1050679, demandStream#1050680, kpis#1050687, false AS isNewlyCalculated#1050657]"];
}
70 [id="node70" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#1050679, demandStream#1050680, kpis#1050687, plant#1050662, product#1050661, qty#1050686, shardId#1050658, version#1050660, worklistShardItemId#1050659L]"];
subgraph cluster71 {
isCluster="true";
id="cluster71";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
72 [id="node72" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1050418 AS qty#1050420, demandChannel#1050413, demandStream#1050414, cachedKpis#1050419 AS kpis#1050421]"];
73 [id="node73" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050417L, cachedShardId#1050416], Inner"];
}
subgraph cluster74 {
isCluster="true";
id="cluster74";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
75 [id="node75" 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#1011816L ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST], false, 0"];
}
76 [id="node76" 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#1011816L, shardId#1011815, 37), ENSURE_REQUIREMENTS, [plan_id=1684687]"];
subgraph cluster77 {
isCluster="true";
id="cluster77";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
78 [id="node78" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
}
79 [id="node79" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818, 37), ENSURE_REQUIREMENTS, [plan_id=1684683]"];
subgraph cluster80 {
isCluster="true";
id="cluster80";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
81 [id="node81" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
82 [id="node82" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
83 [id="node83" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050407L, cachedShardId#1050406], Inner, BuildLeft, ((qty#1011822 = cachedQty#1050408) OR isnull(qty#1011822)), false"];
91 [id="node91" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050400 AS cachedShardId#1050406, worklistShardItemId#1050401L AS cachedWorklistShardItemId#1050407L, qty#1050402 AS cachedQty#1050408]"];
92 [id="node92" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050401L) AND isnotnull(shardId#1050400))"];
93 [id="node93" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050400,worklistShardItemId#1050401L,qty#1050402,demandChannel#1050403,demandStream#1050404,kpis#1050405]"];
}
84 [id="node84" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1684677]"];
subgraph cluster85 {
isCluster="true";
id="cluster85";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
86 [id="node86" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
87 [id="node87" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822], [isnotnull(worklistShardItemId#1011816L), isnotnull(shardId#1011815)]"];
88 [id="node88" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
subgraph cluster89 {
isCluster="true";
id="cluster89";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
90 [id="node90" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster94 {
isCluster="true";
id="cluster94";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
95 [id="node95" 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#1050417L ASC NULLS FIRST, cachedShardId#1050416 ASC NULLS FIRST], false, 0"];
}
96 [id="node96" 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#1050417L, cachedShardId#1050416, 37), ENSURE_REQUIREMENTS, [plan_id=1684693]"];
subgraph cluster97 {
isCluster="true";
id="cluster97";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
98 [id="node98" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050410 AS cachedShardId#1050416, worklistShardItemId#1050411L AS cachedWorklistShardItemId#1050417L, qty#1050412 AS cachedQty#1050418, demandChannel#1050413, demandStream#1050414, kpis#1050415 AS cachedKpis#1050419]"];
99 [id="node99" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050411L) AND isnotnull(shardId#1050410))"];
100 [id="node100" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050410,worklistShardItemId#1050411L,qty#1050412,demandChannel#1050413,demandStream#1050414,kpis#1050415]"];
}
subgraph cluster101 {
isCluster="true";
id="cluster101";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
102 [id="node102" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(shardId#1054027) AND isnotnull(worklistShardItemId#1054028L))"];
}
103 [id="node103" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1054027, worklistShardItemId#1054028L, qty#1053209, demandChannel#1053189, demandStream#1053190, kpis#1053218], [isnotnull(shardId#1054027), isnotnull(worklistShardItemId#1054028L)]"];
104 [id="node104" labelType="html" label="<b>SortAggregate</b><br><br>number of output rows: 0" tooltip="SortAggregate(key=[demandChannel#1053189, shardId#1011815, qty#1053209, worklistShardItemId#1011816L, demandStream#1053190], functions=[first(kpis#1053218, false)])"];
subgraph cluster105 {
isCluster="true";
id="cluster105";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
106 [id="node106" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [demandChannel#1053189 ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST, qty#1053209 ASC NULLS FIRST, worklistShardItemId#1011816L ASC NULLS FIRST, demandStream#1053190 ASC NULLS FIRST], false, 0"];
}
107 [id="node107" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(demandChannel#1053189, shardId#1011815, qty#1053209, worklistShardItemId#1011816L, demandStream#1053190, 37), ENSURE_REQUIREMENTS, [plan_id=1685617]"];
108 [id="node108" labelType="html" label="<b>SortAggregate</b><br><br>number of output rows: 0" tooltip="SortAggregate(key=[demandChannel#1053189, shardId#1011815, knownfloatingpointnormalized(normalizenanandzero(qty#1053209)) AS qty#1053209, worklistShardItemId#1011816L, demandStream#1053190], functions=[partial_first(kpis#1053218, false)])"];
subgraph cluster109 {
isCluster="true";
id="cluster109";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
110 [id="node110" 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#1053189 ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(qty#1053209)) AS qty#1053209 ASC NULLS FIRST, worklistShardItemId#1011816L ASC NULLS FIRST, demandStream#1053190 ASC NULLS FIRST], false, 0"];
111 [id="node111" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, qty#1053209, demandChannel#1053189, demandStream#1053190, kpis#1053218]"];
112 [id="node112" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [coalesce(product#1053182, ), isnull(product#1053182), coalesce(plant#1053183, ), isnull(plant#1053183)], [coalesce(product#1011818, ), isnull(product#1011818), coalesce(plant#1011819, ), isnull(plant#1011819)], Inner, BuildRight, ((qty#1053209 <=> qty#1011822) OR isnull(qty#1011822)), false"];
}
113 [id="node113" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
114 [id="node114" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1053163.productId AS product#1053182, prodPlantResults#1053163.plantId AS plant#1053183, null AS qty#1053209, null AS demandChannel#1053189, null AS demandStream#1053190, transform(prodPlantResults#1053163.kpiResults, lambdafunction(struct(label, lambda kpi#1053219.label, dateTime, lambda kpi#1053219.datetime, value, lambda kpi#1053219.value), lambda kpi#1053219, false)) AS kpis#1053218]"];
115 [id="node115" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [prodPlantResults#1053163]"];
subgraph cluster116 {
isCluster="true";
id="cluster116";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
117 [id="node117" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#1053156), false, [prodPlantResults#1053163]"];
118 [id="node118" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1053156]"];
119 [id="node119" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#1053156, true) > 0) AND isnotnull(prodPlantResults#1053156))"];
120 [id="node120" 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#1053155, 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#1053156]"];
}
121 [id="node121" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#1053152]"];
122 [id="node122" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [_extract_productId#1053354 AS product#1053169, _extract_plantId#1053355 AS plant#1053170, quantityKpiResults#1053175.quantity AS qty#1053176, null AS demandChannel#1053178, null AS demandStream#1053179, transform(quantityKpiResults#1053175.kpiResults, lambdafunction(struct(label, lambda kpi#1053219.label, dateTime, lambda kpi#1053219.datetime, value, lambda kpi#1053219.value), lambda kpi#1053219, false)) AS kpis#1053352]"];
subgraph cluster123 {
isCluster="true";
id="cluster123";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
124 [id="node124" labelType="html" label="<b>Generate</b><br><br>number of output rows: 0" tooltip="Generate explode(_extract_quantityKpiResults#1053356), [_extract_productId#1053354, _extract_plantId#1053355], false, [quantityKpiResults#1053175]"];
125 [id="node125" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1053208.productId AS _extract_productId#1053354, prodPlantResults#1053208.plantId AS _extract_plantId#1053355, prodPlantResults#1053208.quantityKpiResults AS _extract_quantityKpiResults#1053356]"];
126 [id="node126" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((size(prodPlantResults#1053208.quantityKpiResults, true) > 0) AND isnotnull(prodPlantResults#1053208.quantityKpiResults))"];
}
127 [id="node127" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [prodPlantResults#1053208], [(size(prodPlantResults#1053208.quantityKpiResults, true) > 0), isnotnull(prodPlantResults#1053208.quantityKpiResults)]"];
subgraph cluster128 {
isCluster="true";
id="cluster128";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
129 [id="node129" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#1053156), false, [prodPlantResults#1053163]"];
130 [id="node130" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1053156]"];
131 [id="node131" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#1053156, true) > 0) AND isnotnull(prodPlantResults#1053156))"];
132 [id="node132" 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#1053155, 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#1053156]"];
}
133 [id="node133" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#1053152]"];
134 [id="node134" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [_extract_productId#1053357 AS product#1053191, _extract_plantId#1053358 AS plant#1053192, null AS qty#1053214, demandChannelStreamKpiResults#1053197.demandChannel AS demandChannel#1053199, demandChannelStreamKpiResults#1053197.demandStream AS demandStream#1053201, transform(demandChannelStreamKpiResults#1053197.kpiResults, lambdafunction(struct(label, lambda kpi#1053219.label, dateTime, lambda kpi#1053219.datetime, value, lambda kpi#1053219.value), lambda kpi#1053219, false)) AS kpis#1053353]"];
subgraph cluster135 {
isCluster="true";
id="cluster135";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
136 [id="node136" labelType="html" label="<b>Generate</b><br><br>number of output rows: 0" tooltip="Generate explode(_extract_demandChannelStreamKpiResults#1053359), [_extract_productId#1053357, _extract_plantId#1053358], false, [demandChannelStreamKpiResults#1053197]"];
137 [id="node137" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1053213.productId AS _extract_productId#1053357, prodPlantResults#1053213.plantId AS _extract_plantId#1053358, prodPlantResults#1053213.demandChannelStreamKpiResults AS _extract_demandChannelStreamKpiResults#1053359]"];
138 [id="node138" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((size(prodPlantResults#1053213.demandChannelStreamKpiResults, true) > 0) AND isnotnull(prodPlantResults#1053213.demandChannelStreamKpiResults))"];
}
139 [id="node139" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [prodPlantResults#1053213], [(size(prodPlantResults#1053213.demandChannelStreamKpiResults, true) > 0), isnotnull(prodPlantResults#1053213.demandChannelStreamKpiResults)]"];
subgraph cluster140 {
isCluster="true";
id="cluster140";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
141 [id="node141" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#1053156), false, [prodPlantResults#1053163]"];
142 [id="node142" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1053156]"];
143 [id="node143" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#1053156, true) > 0) AND isnotnull(prodPlantResults#1053156))"];
144 [id="node144" 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#1053155, 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#1053156]"];
}
145 [id="node145" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#1053152]"];
146 [id="node146" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, string, true], ), isnull(input[3, string, true])),false), [plan_id=1685610]"];
subgraph cluster147 {
isCluster="true";
id="cluster147";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
148 [id="node148" 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#1011819, shardId#1011815, qty#1011822, worklistShardItemId#1011816L, product#1011818], functions=[])"];
}
149 [id="node149" 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#1011819, shardId#1011815, qty#1011822, worklistShardItemId#1011816L, product#1011818, 37), ENSURE_REQUIREMENTS, [plan_id=1685606]"];
subgraph cluster150 {
isCluster="true";
id="cluster150";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
151 [id="node151" 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#1011819, shardId#1011815, knownfloatingpointnormalized(normalizenanandzero(qty#1011822)) AS qty#1011822, worklistShardItemId#1011816L, product#1011818], functions=[])"];
152 [id="node152" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, product#1011818, plant#1011819, qty#1011822]"];
153 [id="node153" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter isNewlyCalculated#1050656: boolean"];
}
154 [id="node154" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [isNewlyCalculated#1050656, plant#1011819, product#1011818, qty#1011822, shardId#1011815, worklistShardItemId#1011816L], [isNewlyCalculated#1050656]"];
155 [id="node155" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster156 {
isCluster="true";
id="cluster156";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
157 [id="node157" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, null AS demandChannel#1050653, null AS demandStream#1050654, [] AS kpis#1050688, true AS isNewlyCalculated#1050656]"];
158 [id="node158" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [coalesce(shardId#1011815, ), isnull(shardId#1011815), coalesce(worklistShardItemId#1011816L, 0), isnull(worklistShardItemId#1011816L), coalesce(version#1011817, 0), isnull(version#1011817), coalesce(product#1011818, ), isnull(product#1011818), coalesce(plant#1011819, ), isnull(plant#1011819), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1011822, 0.0))), isnull(qty#1011822)], [coalesce(shardId#1050645, ), isnull(shardId#1050645), coalesce(worklistShardItemId#1050646L, 0), isnull(worklistShardItemId#1050646L), coalesce(version#1050647, 0), isnull(version#1050647), coalesce(product#1050648, ), isnull(product#1050648), coalesce(plant#1050649, ), isnull(plant#1050649), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1050420, 0.0))), isnull(qty#1050420)], LeftAnti"];
}
subgraph cluster159 {
isCluster="true";
id="cluster159";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
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(shardId#1011815, ) ASC NULLS FIRST, isnull(shardId#1011815) ASC NULLS FIRST, coalesce(worklistShardItemId#1011816L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#1011816L) ASC NULLS FIRST, coalesce(version#1011817, 0) ASC NULLS FIRST, isnull(version#1011817) ASC NULLS FIRST, coalesce(product#1011818, ) ASC NULLS FIRST, isnull(product#1011818) ASC NULLS FIRST, coalesce(plant#1011819, ) ASC NULLS FIRST, isnull(plant#1011819) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1011822, 0.0))) ASC NULLS FIRST, isnull(qty#1011822) 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(shardId#1011815, ), isnull(shardId#1011815), coalesce(worklistShardItemId#1011816L, 0), isnull(worklistShardItemId#1011816L), coalesce(version#1011817, 0), isnull(version#1011817), coalesce(product#1011818, ), isnull(product#1011818), coalesce(plant#1011819, ), isnull(plant#1011819), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1011822, 0.0))), isnull(qty#1011822), 37), ENSURE_REQUIREMENTS, [plan_id=1684799]"];
162 [id="node162" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822]"];
163 [id="node163" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
subgraph cluster164 {
isCluster="true";
id="cluster164";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
165 [id="node165" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster166 {
isCluster="true";
id="cluster166";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
167 [id="node167" 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#1050645, ) ASC NULLS FIRST, isnull(shardId#1050645) ASC NULLS FIRST, coalesce(worklistShardItemId#1050646L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#1050646L) ASC NULLS FIRST, coalesce(version#1050647, 0) ASC NULLS FIRST, isnull(version#1050647) ASC NULLS FIRST, coalesce(product#1050648, ) ASC NULLS FIRST, isnull(product#1050648) ASC NULLS FIRST, coalesce(plant#1050649, ) ASC NULLS FIRST, isnull(plant#1050649) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1050420, 0.0))) ASC NULLS FIRST, isnull(qty#1050420) ASC NULLS FIRST], false, 0"];
}
168 [id="node168" 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#1050645, ), isnull(shardId#1050645), coalesce(worklistShardItemId#1050646L, 0), isnull(worklistShardItemId#1050646L), coalesce(version#1050647, 0), isnull(version#1050647), coalesce(product#1050648, ), isnull(product#1050648), coalesce(plant#1050649, ), isnull(plant#1050649), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1050420, 0.0))), isnull(qty#1050420), 37), ENSURE_REQUIREMENTS, [plan_id=1684819]"];
169 [id="node169" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
170 [id="node170" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1050645, worklistShardItemId#1050646L, version#1050647, product#1050648, plant#1050649, qty#1050420]"];
subgraph cluster171 {
isCluster="true";
id="cluster171";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
172 [id="node172" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1050418 AS qty#1050420, demandChannel#1050413, demandStream#1050414, cachedKpis#1050419 AS kpis#1050421]"];
173 [id="node173" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050417L, cachedShardId#1050416], Inner"];
}
subgraph cluster174 {
isCluster="true";
id="cluster174";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
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 [worklistShardItemId#1011816L ASC NULLS FIRST, shardId#1011815 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(worklistShardItemId#1011816L, shardId#1011815, 37), ENSURE_REQUIREMENTS, [plan_id=1684687]"];
subgraph cluster177 {
isCluster="true";
id="cluster177";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
178 [id="node178" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
}
179 [id="node179" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818, 37), ENSURE_REQUIREMENTS, [plan_id=1684683]"];
subgraph cluster180 {
isCluster="true";
id="cluster180";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
181 [id="node181" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
182 [id="node182" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
183 [id="node183" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050407L, cachedShardId#1050406], Inner, BuildLeft, ((qty#1011822 = cachedQty#1050408) OR isnull(qty#1011822)), false"];
191 [id="node191" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050400 AS cachedShardId#1050406, worklistShardItemId#1050401L AS cachedWorklistShardItemId#1050407L, qty#1050402 AS cachedQty#1050408]"];
192 [id="node192" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050401L) AND isnotnull(shardId#1050400))"];
193 [id="node193" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050400,worklistShardItemId#1050401L,qty#1050402,demandChannel#1050403,demandStream#1050404,kpis#1050405]"];
}
184 [id="node184" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1684677]"];
subgraph cluster185 {
isCluster="true";
id="cluster185";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
186 [id="node186" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
187 [id="node187" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822], [isnotnull(worklistShardItemId#1011816L), isnotnull(shardId#1011815)]"];
188 [id="node188" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
subgraph cluster189 {
isCluster="true";
id="cluster189";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
190 [id="node190" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster194 {
isCluster="true";
id="cluster194";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
195 [id="node195" 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#1050417L ASC NULLS FIRST, cachedShardId#1050416 ASC NULLS FIRST], false, 0"];
}
196 [id="node196" 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#1050417L, cachedShardId#1050416, 37), ENSURE_REQUIREMENTS, [plan_id=1684693]"];
subgraph cluster197 {
isCluster="true";
id="cluster197";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
198 [id="node198" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050410 AS cachedShardId#1050416, worklistShardItemId#1050411L AS cachedWorklistShardItemId#1050417L, qty#1050412 AS cachedQty#1050418, demandChannel#1050413, demandStream#1050414, kpis#1050415 AS cachedKpis#1050419]"];
199 [id="node199" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050411L) AND isnotnull(shardId#1050410))"];
200 [id="node200" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050410,worklistShardItemId#1050411L,qty#1050412,demandChannel#1050413,demandStream#1050414,kpis#1050415]"];
}
subgraph cluster201 {
isCluster="true";
id="cluster201";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
202 [id="node202" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050627, worklistShardItemId#1050628L, version#1050629, product#1050630, plant#1050631, qty#1050634]"];
203 [id="node203" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1050628L, shardId#1050627], [cachedWorklistShardItemId#1050642L, cachedShardId#1050641], Inner, BuildLeft, false"];
211 [id="node211" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050635 AS cachedShardId#1050641, worklistShardItemId#1050636L AS cachedWorklistShardItemId#1050642L]"];
212 [id="node212" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050636L) AND isnotnull(shardId#1050635))"];
213 [id="node213" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050635,worklistShardItemId#1050636L,qty#1050637,demandChannel#1050638,demandStream#1050639,kpis#1050640]"];
}
204 [id="node204" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1684813]"];
subgraph cluster205 {
isCluster="true";
id="cluster205";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
206 [id="node206" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#1050634) AND isnotnull(worklistShardItemId#1050628L)) AND isnotnull(shardId#1050627))"];
}
207 [id="node207" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1050627, worklistShardItemId#1050628L, version#1050629, product#1050630, plant#1050631, qty#1050634], [isnull(qty#1050634), isnotnull(worklistShardItemId#1050628L), isnotnull(shardId#1050627)]"];
208 [id="node208" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
subgraph cluster209 {
isCluster="true";
id="cluster209";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
210 [id="node210" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
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#1050658, worklistShardItemId#1050659L, version#1050660, product#1050661, plant#1050662, qty#1050686, demandChannel#1050679, demandStream#1050680, kpis#1050687, false AS isNewlyCalculated#1050657]"];
}
216 [id="node216" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#1050679, demandStream#1050680, kpis#1050687, plant#1050662, product#1050661, qty#1050686, shardId#1050658, version#1050660, worklistShardItemId#1050659L]"];
subgraph cluster217 {
isCluster="true";
id="cluster217";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
218 [id="node218" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1050418 AS qty#1050420, demandChannel#1050413, demandStream#1050414, cachedKpis#1050419 AS kpis#1050421]"];
219 [id="node219" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050417L, cachedShardId#1050416], Inner"];
}
subgraph cluster220 {
isCluster="true";
id="cluster220";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
221 [id="node221" 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#1011816L ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST], false, 0"];
}
222 [id="node222" 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#1011816L, shardId#1011815, 37), ENSURE_REQUIREMENTS, [plan_id=1684687]"];
subgraph cluster223 {
isCluster="true";
id="cluster223";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
224 [id="node224" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
}
225 [id="node225" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818, 37), ENSURE_REQUIREMENTS, [plan_id=1684683]"];
subgraph cluster226 {
isCluster="true";
id="cluster226";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
227 [id="node227" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
228 [id="node228" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
229 [id="node229" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050407L, cachedShardId#1050406], Inner, BuildLeft, ((qty#1011822 = cachedQty#1050408) OR isnull(qty#1011822)), false"];
237 [id="node237" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050400 AS cachedShardId#1050406, worklistShardItemId#1050401L AS cachedWorklistShardItemId#1050407L, qty#1050402 AS cachedQty#1050408]"];
238 [id="node238" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050401L) AND isnotnull(shardId#1050400))"];
239 [id="node239" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050400,worklistShardItemId#1050401L,qty#1050402,demandChannel#1050403,demandStream#1050404,kpis#1050405]"];
}
230 [id="node230" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1684677]"];
subgraph cluster231 {
isCluster="true";
id="cluster231";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
232 [id="node232" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
233 [id="node233" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822], [isnotnull(worklistShardItemId#1011816L), isnotnull(shardId#1011815)]"];
234 [id="node234" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
subgraph cluster235 {
isCluster="true";
id="cluster235";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
236 [id="node236" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster240 {
isCluster="true";
id="cluster240";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
241 [id="node241" 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#1050417L ASC NULLS FIRST, cachedShardId#1050416 ASC NULLS FIRST], false, 0"];
}
242 [id="node242" 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#1050417L, cachedShardId#1050416, 37), ENSURE_REQUIREMENTS, [plan_id=1684693]"];
subgraph cluster243 {
isCluster="true";
id="cluster243";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
244 [id="node244" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050410 AS cachedShardId#1050416, worklistShardItemId#1050411L AS cachedWorklistShardItemId#1050417L, qty#1050412 AS cachedQty#1050418, demandChannel#1050413, demandStream#1050414, kpis#1050415 AS cachedKpis#1050419]"];
245 [id="node245" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050411L) AND isnotnull(shardId#1050410))"];
246 [id="node246" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050410,worklistShardItemId#1050411L,qty#1050412,demandChannel#1050413,demandStream#1050414,kpis#1050415]"];
}
247 [id="node247" labelType="html" label="<br><b>BroadcastExchange</b><br><br>" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, true], input[1, bigint, true]),false), [plan_id=1685778]"];
subgraph cluster248 {
isCluster="true";
id="cluster248";
label="WholeStageCodegen (4)";
tooltip="WholeStageCodegen (4)";
249 [id="node249" labelType="html" label="<br><b>HashAggregate</b><br><br>" tooltip="HashAggregate(keys=[shardId#1054119, worklistShardItemId#1054120L], functions=[max(version#1054121)])"];
}
250 [id="node250" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(shardId#1054119, worklistShardItemId#1054120L, 37), ENSURE_REQUIREMENTS, [plan_id=1685774]"];
subgraph cluster251 {
isCluster="true";
id="cluster251";
label="WholeStageCodegen (3)";
tooltip="WholeStageCodegen (3)";
252 [id="node252" labelType="html" label="<br><b>HashAggregate</b><br><br>" tooltip="HashAggregate(keys=[shardId#1054119, worklistShardItemId#1054120L], functions=[partial_max(version#1054121)])"];
253 [id="node253" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (isnotnull(shardId#1054119) AND isnotnull(worklistShardItemId#1054120L))"];
}
254 [id="node254" labelType="html" label="<br><b>InMemoryTableScan</b><br><br>" tooltip="InMemoryTableScan [shardId#1054119, worklistShardItemId#1054120L, version#1054121], [isnotnull(shardId#1054119), isnotnull(worklistShardItemId#1054120L)]"];
255 [id="node255" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster256 {
isCluster="true";
id="cluster256";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
257 [id="node257" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, null AS demandChannel#1050653, null AS demandStream#1050654, [] AS kpis#1050688, true AS isNewlyCalculated#1050656]"];
258 [id="node258" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [coalesce(shardId#1011815, ), isnull(shardId#1011815), coalesce(worklistShardItemId#1011816L, 0), isnull(worklistShardItemId#1011816L), coalesce(version#1011817, 0), isnull(version#1011817), coalesce(product#1011818, ), isnull(product#1011818), coalesce(plant#1011819, ), isnull(plant#1011819), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1011822, 0.0))), isnull(qty#1011822)], [coalesce(shardId#1050645, ), isnull(shardId#1050645), coalesce(worklistShardItemId#1050646L, 0), isnull(worklistShardItemId#1050646L), coalesce(version#1050647, 0), isnull(version#1050647), coalesce(product#1050648, ), isnull(product#1050648), coalesce(plant#1050649, ), isnull(plant#1050649), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1050420, 0.0))), isnull(qty#1050420)], LeftAnti"];
}
subgraph cluster259 {
isCluster="true";
id="cluster259";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
260 [id="node260" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [coalesce(shardId#1011815, ) ASC NULLS FIRST, isnull(shardId#1011815) ASC NULLS FIRST, coalesce(worklistShardItemId#1011816L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#1011816L) ASC NULLS FIRST, coalesce(version#1011817, 0) ASC NULLS FIRST, isnull(version#1011817) ASC NULLS FIRST, coalesce(product#1011818, ) ASC NULLS FIRST, isnull(product#1011818) ASC NULLS FIRST, coalesce(plant#1011819, ) ASC NULLS FIRST, isnull(plant#1011819) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1011822, 0.0))) ASC NULLS FIRST, isnull(qty#1011822) ASC NULLS FIRST], false, 0"];
}
261 [id="node261" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(coalesce(shardId#1011815, ), isnull(shardId#1011815), coalesce(worklistShardItemId#1011816L, 0), isnull(worklistShardItemId#1011816L), coalesce(version#1011817, 0), isnull(version#1011817), coalesce(product#1011818, ), isnull(product#1011818), coalesce(plant#1011819, ), isnull(plant#1011819), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1011822, 0.0))), isnull(qty#1011822), 37), ENSURE_REQUIREMENTS, [plan_id=1684799]"];
262 [id="node262" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822]"];
263 [id="node263" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
subgraph cluster264 {
isCluster="true";
id="cluster264";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
265 [id="node265" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster266 {
isCluster="true";
id="cluster266";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
267 [id="node267" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [coalesce(shardId#1050645, ) ASC NULLS FIRST, isnull(shardId#1050645) ASC NULLS FIRST, coalesce(worklistShardItemId#1050646L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#1050646L) ASC NULLS FIRST, coalesce(version#1050647, 0) ASC NULLS FIRST, isnull(version#1050647) ASC NULLS FIRST, coalesce(product#1050648, ) ASC NULLS FIRST, isnull(product#1050648) ASC NULLS FIRST, coalesce(plant#1050649, ) ASC NULLS FIRST, isnull(plant#1050649) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1050420, 0.0))) ASC NULLS FIRST, isnull(qty#1050420) ASC NULLS FIRST], false, 0"];
}
268 [id="node268" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(coalesce(shardId#1050645, ), isnull(shardId#1050645), coalesce(worklistShardItemId#1050646L, 0), isnull(worklistShardItemId#1050646L), coalesce(version#1050647, 0), isnull(version#1050647), coalesce(product#1050648, ), isnull(product#1050648), coalesce(plant#1050649, ), isnull(plant#1050649), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1050420, 0.0))), isnull(qty#1050420), 37), ENSURE_REQUIREMENTS, [plan_id=1684819]"];
269 [id="node269" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
270 [id="node270" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1050645, worklistShardItemId#1050646L, version#1050647, product#1050648, plant#1050649, qty#1050420]"];
subgraph cluster271 {
isCluster="true";
id="cluster271";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
272 [id="node272" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1050418 AS qty#1050420, demandChannel#1050413, demandStream#1050414, cachedKpis#1050419 AS kpis#1050421]"];
273 [id="node273" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050417L, cachedShardId#1050416], Inner"];
}
subgraph cluster274 {
isCluster="true";
id="cluster274";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
275 [id="node275" 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#1011816L ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST], false, 0"];
}
276 [id="node276" 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#1011816L, shardId#1011815, 37), ENSURE_REQUIREMENTS, [plan_id=1684687]"];
subgraph cluster277 {
isCluster="true";
id="cluster277";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
278 [id="node278" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
}
279 [id="node279" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818, 37), ENSURE_REQUIREMENTS, [plan_id=1684683]"];
subgraph cluster280 {
isCluster="true";
id="cluster280";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
281 [id="node281" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
282 [id="node282" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
283 [id="node283" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050407L, cachedShardId#1050406], Inner, BuildLeft, ((qty#1011822 = cachedQty#1050408) OR isnull(qty#1011822)), false"];
291 [id="node291" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050400 AS cachedShardId#1050406, worklistShardItemId#1050401L AS cachedWorklistShardItemId#1050407L, qty#1050402 AS cachedQty#1050408]"];
292 [id="node292" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050401L) AND isnotnull(shardId#1050400))"];
293 [id="node293" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050400,worklistShardItemId#1050401L,qty#1050402,demandChannel#1050403,demandStream#1050404,kpis#1050405]"];
}
284 [id="node284" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1684677]"];
subgraph cluster285 {
isCluster="true";
id="cluster285";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
286 [id="node286" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
287 [id="node287" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822], [isnotnull(worklistShardItemId#1011816L), isnotnull(shardId#1011815)]"];
288 [id="node288" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
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#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster294 {
isCluster="true";
id="cluster294";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
295 [id="node295" 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#1050417L ASC NULLS FIRST, cachedShardId#1050416 ASC NULLS FIRST], false, 0"];
}
296 [id="node296" 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#1050417L, cachedShardId#1050416, 37), ENSURE_REQUIREMENTS, [plan_id=1684693]"];
subgraph cluster297 {
isCluster="true";
id="cluster297";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
298 [id="node298" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050410 AS cachedShardId#1050416, worklistShardItemId#1050411L AS cachedWorklistShardItemId#1050417L, qty#1050412 AS cachedQty#1050418, demandChannel#1050413, demandStream#1050414, kpis#1050415 AS cachedKpis#1050419]"];
299 [id="node299" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050411L) AND isnotnull(shardId#1050410))"];
300 [id="node300" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050410,worklistShardItemId#1050411L,qty#1050412,demandChannel#1050413,demandStream#1050414,kpis#1050415]"];
}
subgraph cluster301 {
isCluster="true";
id="cluster301";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
302 [id="node302" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050627, worklistShardItemId#1050628L, version#1050629, product#1050630, plant#1050631, qty#1050634]"];
303 [id="node303" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1050628L, shardId#1050627], [cachedWorklistShardItemId#1050642L, cachedShardId#1050641], Inner, BuildLeft, false"];
311 [id="node311" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050635 AS cachedShardId#1050641, worklistShardItemId#1050636L AS cachedWorklistShardItemId#1050642L]"];
312 [id="node312" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050636L) AND isnotnull(shardId#1050635))"];
313 [id="node313" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050635,worklistShardItemId#1050636L,qty#1050637,demandChannel#1050638,demandStream#1050639,kpis#1050640]"];
}
304 [id="node304" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1684813]"];
subgraph cluster305 {
isCluster="true";
id="cluster305";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
306 [id="node306" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#1050634) AND isnotnull(worklistShardItemId#1050628L)) AND isnotnull(shardId#1050627))"];
}
307 [id="node307" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1050627, worklistShardItemId#1050628L, version#1050629, product#1050630, plant#1050631, qty#1050634], [isnull(qty#1050634), isnotnull(worklistShardItemId#1050628L), isnotnull(shardId#1050627)]"];
308 [id="node308" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
subgraph cluster309 {
isCluster="true";
id="cluster309";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
310 [id="node310" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster314 {
isCluster="true";
id="cluster314";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
315 [id="node315" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050658, worklistShardItemId#1050659L, version#1050660, product#1050661, plant#1050662, qty#1050686, demandChannel#1050679, demandStream#1050680, kpis#1050687, false AS isNewlyCalculated#1050657]"];
}
316 [id="node316" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#1050679, demandStream#1050680, kpis#1050687, plant#1050662, product#1050661, qty#1050686, shardId#1050658, version#1050660, worklistShardItemId#1050659L]"];
subgraph cluster317 {
isCluster="true";
id="cluster317";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
318 [id="node318" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1050418 AS qty#1050420, demandChannel#1050413, demandStream#1050414, cachedKpis#1050419 AS kpis#1050421]"];
319 [id="node319" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050417L, cachedShardId#1050416], Inner"];
}
subgraph cluster320 {
isCluster="true";
id="cluster320";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
321 [id="node321" 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#1011816L ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST], false, 0"];
}
322 [id="node322" 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#1011816L, shardId#1011815, 37), ENSURE_REQUIREMENTS, [plan_id=1684687]"];
subgraph cluster323 {
isCluster="true";
id="cluster323";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
324 [id="node324" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
}
325 [id="node325" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818, 37), ENSURE_REQUIREMENTS, [plan_id=1684683]"];
subgraph cluster326 {
isCluster="true";
id="cluster326";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
327 [id="node327" 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#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818], functions=[])"];
328 [id="node328" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
329 [id="node329" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1050407L, cachedShardId#1050406], Inner, BuildLeft, ((qty#1011822 = cachedQty#1050408) OR isnull(qty#1011822)), false"];
337 [id="node337" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050400 AS cachedShardId#1050406, worklistShardItemId#1050401L AS cachedWorklistShardItemId#1050407L, qty#1050402 AS cachedQty#1050408]"];
338 [id="node338" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050401L) AND isnotnull(shardId#1050400))"];
339 [id="node339" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050400,worklistShardItemId#1050401L,qty#1050402,demandChannel#1050403,demandStream#1050404,kpis#1050405]"];
}
330 [id="node330" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1684677]"];
subgraph cluster331 {
isCluster="true";
id="cluster331";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
332 [id="node332" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
333 [id="node333" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822], [isnotnull(worklistShardItemId#1011816L), isnotnull(shardId#1011815)]"];
334 [id="node334" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1684569]"];
subgraph cluster335 {
isCluster="true";
id="cluster335";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
336 [id="node336" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster340 {
isCluster="true";
id="cluster340";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
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#1050417L ASC NULLS FIRST, cachedShardId#1050416 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#1050417L, cachedShardId#1050416, 37), ENSURE_REQUIREMENTS, [plan_id=1684693]"];
subgraph cluster343 {
isCluster="true";
id="cluster343";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
344 [id="node344" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1050410 AS cachedShardId#1050416, worklistShardItemId#1050411L AS cachedWorklistShardItemId#1050417L, qty#1050412 AS cachedQty#1050418, demandChannel#1050413, demandStream#1050414, kpis#1050415 AS cachedKpis#1050419]"];
345 [id="node345" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1050411L) AND isnotnull(shardId#1050410))"];
346 [id="node346" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1050410,worklistShardItemId#1050411L,qty#1050412,demandChannel#1050413,demandStream#1050414,kpis#1050415]"];
}
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;
32->30;
33->32;
35->33;
36->35;
37->36;
38->37;
40->38;
41->40;
42->41;
44->42;
45->37;
46->45;
47->46;
49->27;
50->49;
52->50;
53->52;
54->53;
56->23;
57->56;
58->57;
60->58;
61->60;
62->61;
64->62;
65->57;
66->65;
67->66;
69->9;
70->69;
72->70;
73->72;
75->73;
76->75;
78->76;
79->78;
81->79;
82->81;
83->82;
84->83;
86->84;
87->86;
88->87;
90->88;
91->83;
92->91;
93->92;
95->73;
96->95;
98->96;
99->98;
100->99;
102->4;
103->102;
104->103;
106->104;
107->106;
108->107;
110->108;
111->110;
112->111;
113->112;
114->113;
115->114;
117->115;
118->117;
119->118;
120->119;
121->120;
122->113;
124->122;
125->124;
126->125;
127->126;
129->127;
130->129;
131->130;
132->131;
133->132;
134->113;
136->134;
137->136;
138->137;
139->138;
141->139;
142->141;
143->142;
144->143;
145->144;
146->112;
148->146;
149->148;
151->149;
152->151;
153->152;
154->153;
155->154;
157->155;
158->157;
160->158;
161->160;
162->161;
163->162;
165->163;
167->158;
168->167;
169->168;
170->169;
172->170;
173->172;
175->173;
176->175;
178->176;
179->178;
181->179;
182->181;
183->182;
184->183;
186->184;
187->186;
188->187;
190->188;
191->183;
192->191;
193->192;
195->173;
196->195;
198->196;
199->198;
200->199;
202->169;
203->202;
204->203;
206->204;
207->206;
208->207;
210->208;
211->203;
212->211;
213->212;
215->155;
216->215;
218->216;
219->218;
221->219;
222->221;
224->222;
225->224;
227->225;
228->227;
229->228;
230->229;
232->230;
233->232;
234->233;
236->234;
237->229;
238->237;
239->238;
241->219;
242->241;
244->242;
245->244;
246->245;
247->3;
249->247;
250->249;
252->250;
253->252;
254->253;
255->254;
257->255;
258->257;
260->258;
261->260;
262->261;
263->262;
265->263;
267->258;
268->267;
269->268;
270->269;
272->270;
273->272;
275->273;
276->275;
278->276;
279->278;
281->279;
282->281;
283->282;
284->283;
286->284;
287->286;
288->287;
290->288;
291->283;
292->291;
293->292;
295->273;
296->295;
298->296;
299->298;
300->299;
302->269;
303->302;
304->303;
306->304;
307->306;
308->307;
310->308;
311->303;
312->311;
313->312;
315->255;
316->315;
318->316;
319->318;
321->319;
322->321;
324->322;
325->324;
327->325;
328->327;
329->328;
330->329;
332->330;
333->332;
334->333;
336->334;
337->329;
338->337;
339->338;
341->319;
342->341;
344->342;
345->344;
346->345;
}