digraph G {
0 [id="node0" labelType="html" label="<b>CollectLimit</b><br><br>shuffle records written: 4<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 1<br>local bytes read: 124.0 B<br>merged fetch fallback count: 0<br>local blocks read: 2<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>local merged bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 111520.0: task 365989))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>248.0 B (62.0 B, 62.0 B, 62.0 B (stage 111520.0: task 365974))" tooltip="CollectLimit 1"];
1 [id="node1" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 4" tooltip="InMemoryTableScan"];
subgraph cluster2 {
isCluster="true";
id="cluster2";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n102 ms (0 ms, 0 ms, 13 ms (stage 111520.0: task 365890))";
tooltip="WholeStageCodegen (5)";
3 [id="node3" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1065138, qty#1011822, demandChannel#1061769, demandStream#1061770, kpis#1061804]"];
4 [id="node4" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 4" tooltip="BroadcastHashJoin [shardId#1011815, worklistShardItemId#1011816L], [shardId#1065235, worklistShardItemId#1065236L], Inner, BuildRight, false"];
}
5 [id="node5" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster6 {
isCluster="true";
id="cluster6";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n795 ms (0 ms, 0 ms, 113 ms (stage 111520.0: task 365890))";
tooltip="WholeStageCodegen (1)";
7 [id="node7" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1061769, demandStream#1061770, kpis#1061804]"];
8 [id="node8" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((NOT isNewlyCalculated#1061772 AND isnotnull(shardId#1011815)) AND isnotnull(worklistShardItemId#1011816L))"];
}
9 [id="node9" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 4" tooltip="InMemoryTableScan [demandChannel#1061769, demandStream#1061770, isNewlyCalculated#1061772, kpis#1061804, qty#1011822, shardId#1011815, worklistShardItemId#1011816L], [NOT isNewlyCalculated#1061772, isnotnull(shardId#1011815), isnotnull(worklistShardItemId#1011816L)]"];
10 [id="node10" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster11 {
isCluster="true";
id="cluster11";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
12 [id="node12" 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#1061769, null AS demandStream#1061770, [] AS kpis#1061804, true AS isNewlyCalculated#1061772]"];
13 [id="node13" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [coalesce(shardId#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#1061761, ), isnull(shardId#1061761), coalesce(worklistShardItemId#1061762L, 0), isnull(worklistShardItemId#1061762L), coalesce(version#1061763, 0), isnull(version#1061763), coalesce(product#1061764, ), isnull(product#1061764), coalesce(plant#1061765, ), isnull(plant#1061765), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1061536, 0.0))), isnull(qty#1061536)], LeftAnti"];
}
subgraph cluster14 {
isCluster="true";
id="cluster14";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
15 [id="node15" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [coalesce(shardId#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"];
}
16 [id="node16" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(coalesce(shardId#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=1687964]"];
17 [id="node17" 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]"];
18 [id="node18" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster19 {
isCluster="true";
id="cluster19";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
20 [id="node20" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster21 {
isCluster="true";
id="cluster21";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
22 [id="node22" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [coalesce(shardId#1061761, ) ASC NULLS FIRST, isnull(shardId#1061761) ASC NULLS FIRST, coalesce(worklistShardItemId#1061762L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#1061762L) ASC NULLS FIRST, coalesce(version#1061763, 0) ASC NULLS FIRST, isnull(version#1061763) ASC NULLS FIRST, coalesce(product#1061764, ) ASC NULLS FIRST, isnull(product#1061764) ASC NULLS FIRST, coalesce(plant#1061765, ) ASC NULLS FIRST, isnull(plant#1061765) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1061536, 0.0))) ASC NULLS FIRST, isnull(qty#1061536) ASC NULLS FIRST], false, 0"];
}
23 [id="node23" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(coalesce(shardId#1061761, ), isnull(shardId#1061761), coalesce(worklistShardItemId#1061762L, 0), isnull(worklistShardItemId#1061762L), coalesce(version#1061763, 0), isnull(version#1061763), coalesce(product#1061764, ), isnull(product#1061764), coalesce(plant#1061765, ), isnull(plant#1061765), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1061536, 0.0))), isnull(qty#1061536), 37), ENSURE_REQUIREMENTS, [plan_id=1687984]"];
24 [id="node24" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
25 [id="node25" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1061761, worklistShardItemId#1061762L, version#1061763, product#1061764, plant#1061765, qty#1061536]"];
subgraph cluster26 {
isCluster="true";
id="cluster26";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
27 [id="node27" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1061534 AS qty#1061536, demandChannel#1061529, demandStream#1061530, cachedKpis#1061535 AS kpis#1061537]"];
28 [id="node28" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1061533L, cachedShardId#1061532], Inner"];
}
subgraph cluster29 {
isCluster="true";
id="cluster29";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
30 [id="node30" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [worklistShardItemId#1011816L ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST], false, 0"];
}
31 [id="node31" 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=1687852]"];
subgraph cluster32 {
isCluster="true";
id="cluster32";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
33 [id="node33" 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=[])"];
}
34 [id="node34" 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=1687848]"];
subgraph cluster35 {
isCluster="true";
id="cluster35";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
36 [id="node36" 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=[])"];
37 [id="node37" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
38 [id="node38" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1061523L, cachedShardId#1061522], Inner, BuildLeft, ((qty#1011822 = cachedQty#1061524) OR isnull(qty#1011822)), false"];
46 [id="node46" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061516 AS cachedShardId#1061522, worklistShardItemId#1061517L AS cachedWorklistShardItemId#1061523L, qty#1061518 AS cachedQty#1061524]"];
47 [id="node47" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061517L) AND isnotnull(shardId#1061516))"];
48 [id="node48" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061516,worklistShardItemId#1061517L,qty#1061518,demandChannel#1061519,demandStream#1061520,kpis#1061521]"];
}
39 [id="node39" 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=1687842]"];
subgraph cluster40 {
isCluster="true";
id="cluster40";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
41 [id="node41" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
42 [id="node42" 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)]"];
43 [id="node43" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster44 {
isCluster="true";
id="cluster44";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
45 [id="node45" 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 cluster49 {
isCluster="true";
id="cluster49";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
50 [id="node50" 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#1061533L ASC NULLS FIRST, cachedShardId#1061532 ASC NULLS FIRST], false, 0"];
}
51 [id="node51" 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#1061533L, cachedShardId#1061532, 37), ENSURE_REQUIREMENTS, [plan_id=1687858]"];
subgraph cluster52 {
isCluster="true";
id="cluster52";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
53 [id="node53" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061526 AS cachedShardId#1061532, worklistShardItemId#1061527L AS cachedWorklistShardItemId#1061533L, qty#1061528 AS cachedQty#1061534, demandChannel#1061529, demandStream#1061530, kpis#1061531 AS cachedKpis#1061535]"];
54 [id="node54" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061527L) AND isnotnull(shardId#1061526))"];
55 [id="node55" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061526,worklistShardItemId#1061527L,qty#1061528,demandChannel#1061529,demandStream#1061530,kpis#1061531]"];
}
subgraph cluster56 {
isCluster="true";
id="cluster56";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
57 [id="node57" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061743, worklistShardItemId#1061744L, version#1061745, product#1061746, plant#1061747, qty#1061750]"];
58 [id="node58" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1061744L, shardId#1061743], [cachedWorklistShardItemId#1061758L, cachedShardId#1061757], Inner, BuildLeft, false"];
66 [id="node66" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061751 AS cachedShardId#1061757, worklistShardItemId#1061752L AS cachedWorklistShardItemId#1061758L]"];
67 [id="node67" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061752L) AND isnotnull(shardId#1061751))"];
68 [id="node68" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061751,worklistShardItemId#1061752L,qty#1061753,demandChannel#1061754,demandStream#1061755,kpis#1061756]"];
}
59 [id="node59" 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=1687978]"];
subgraph cluster60 {
isCluster="true";
id="cluster60";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
61 [id="node61" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#1061750) AND isnotnull(worklistShardItemId#1061744L)) AND isnotnull(shardId#1061743))"];
}
62 [id="node62" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1061743, worklistShardItemId#1061744L, version#1061745, product#1061746, plant#1061747, qty#1061750], [isnull(qty#1061750), isnotnull(worklistShardItemId#1061744L), isnotnull(shardId#1061743)]"];
63 [id="node63" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster64 {
isCluster="true";
id="cluster64";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
65 [id="node65" 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 cluster69 {
isCluster="true";
id="cluster69";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
70 [id="node70" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061774, worklistShardItemId#1061775L, version#1061776, product#1061777, plant#1061778, qty#1061802, demandChannel#1061795, demandStream#1061796, kpis#1061803, false AS isNewlyCalculated#1061773]"];
}
71 [id="node71" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#1061795, demandStream#1061796, kpis#1061803, plant#1061778, product#1061777, qty#1061802, shardId#1061774, version#1061776, worklistShardItemId#1061775L]"];
subgraph cluster72 {
isCluster="true";
id="cluster72";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
73 [id="node73" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1061534 AS qty#1061536, demandChannel#1061529, demandStream#1061530, cachedKpis#1061535 AS kpis#1061537]"];
74 [id="node74" 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#1061533L, cachedShardId#1061532], Inner"];
}
subgraph cluster75 {
isCluster="true";
id="cluster75";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
76 [id="node76" 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"];
}
77 [id="node77" 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=1687852]"];
subgraph cluster78 {
isCluster="true";
id="cluster78";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
79 [id="node79" 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=[])"];
}
80 [id="node80" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(plant#1011819, shardId#1011815, version#1011817, worklistShardItemId#1011816L, product#1011818, 37), ENSURE_REQUIREMENTS, [plan_id=1687848]"];
subgraph cluster81 {
isCluster="true";
id="cluster81";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
82 [id="node82" 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=[])"];
83 [id="node83" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
84 [id="node84" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1061523L, cachedShardId#1061522], Inner, BuildLeft, ((qty#1011822 = cachedQty#1061524) OR isnull(qty#1011822)), false"];
92 [id="node92" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061516 AS cachedShardId#1061522, worklistShardItemId#1061517L AS cachedWorklistShardItemId#1061523L, qty#1061518 AS cachedQty#1061524]"];
93 [id="node93" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061517L) AND isnotnull(shardId#1061516))"];
94 [id="node94" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061516,worklistShardItemId#1061517L,qty#1061518,demandChannel#1061519,demandStream#1061520,kpis#1061521]"];
}
85 [id="node85" 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=1687842]"];
subgraph cluster86 {
isCluster="true";
id="cluster86";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
87 [id="node87" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
88 [id="node88" 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)]"];
89 [id="node89" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster90 {
isCluster="true";
id="cluster90";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
91 [id="node91" 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 cluster95 {
isCluster="true";
id="cluster95";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
96 [id="node96" 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#1061533L ASC NULLS FIRST, cachedShardId#1061532 ASC NULLS FIRST], false, 0"];
}
97 [id="node97" 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#1061533L, cachedShardId#1061532, 37), ENSURE_REQUIREMENTS, [plan_id=1687858]"];
subgraph cluster98 {
isCluster="true";
id="cluster98";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
99 [id="node99" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061526 AS cachedShardId#1061532, worklistShardItemId#1061527L AS cachedWorklistShardItemId#1061533L, qty#1061528 AS cachedQty#1061534, demandChannel#1061529, demandStream#1061530, kpis#1061531 AS cachedKpis#1061535]"];
100 [id="node100" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061527L) AND isnotnull(shardId#1061526))"];
101 [id="node101" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061526,worklistShardItemId#1061527L,qty#1061528,demandChannel#1061529,demandStream#1061530,kpis#1061531]"];
}
subgraph cluster102 {
isCluster="true";
id="cluster102";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n4 ms (0 ms, 0 ms, 2 ms (stage 111520.0: task 365974))";
tooltip="WholeStageCodegen (2)";
103 [id="node103" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4" tooltip="Filter (isnotnull(shardId#1065143) AND isnotnull(worklistShardItemId#1065144L))"];
}
104 [id="node104" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 4" tooltip="InMemoryTableScan [shardId#1065143, worklistShardItemId#1065144L, qty#1064325, demandChannel#1064305, demandStream#1064306, kpis#1064334], [isnotnull(shardId#1065143), isnotnull(worklistShardItemId#1065144L)]"];
105 [id="node105" labelType="html" label="<b>SortAggregate</b><br><br>number of output rows: 0" tooltip="SortAggregate(key=[demandChannel#1064305, shardId#1011815, qty#1064325, worklistShardItemId#1011816L, demandStream#1064306], functions=[first(kpis#1064334, false)])"];
subgraph cluster106 {
isCluster="true";
id="cluster106";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
107 [id="node107" 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#1064305 ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST, qty#1064325 ASC NULLS FIRST, worklistShardItemId#1011816L ASC NULLS FIRST, demandStream#1064306 ASC NULLS FIRST], false, 0"];
}
108 [id="node108" 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#1064305, shardId#1011815, qty#1064325, worklistShardItemId#1011816L, demandStream#1064306, 37), ENSURE_REQUIREMENTS, [plan_id=1688782]"];
109 [id="node109" labelType="html" label="<b>SortAggregate</b><br><br>number of output rows: 0" tooltip="SortAggregate(key=[demandChannel#1064305, shardId#1011815, knownfloatingpointnormalized(normalizenanandzero(qty#1064325)) AS qty#1064325, worklistShardItemId#1011816L, demandStream#1064306], functions=[partial_first(kpis#1064334, false)])"];
subgraph cluster110 {
isCluster="true";
id="cluster110";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
111 [id="node111" 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#1064305 ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(qty#1064325)) AS qty#1064325 ASC NULLS FIRST, worklistShardItemId#1011816L ASC NULLS FIRST, demandStream#1064306 ASC NULLS FIRST], false, 0"];
112 [id="node112" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, qty#1064325, demandChannel#1064305, demandStream#1064306, kpis#1064334]"];
113 [id="node113" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [coalesce(product#1064298, ), isnull(product#1064298), coalesce(plant#1064299, ), isnull(plant#1064299)], [coalesce(product#1011818, ), isnull(product#1011818), coalesce(plant#1011819, ), isnull(plant#1011819)], Inner, BuildRight, ((qty#1064325 <=> qty#1011822) OR isnull(qty#1011822)), false"];
}
114 [id="node114" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
115 [id="node115" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1064279.productId AS product#1064298, prodPlantResults#1064279.plantId AS plant#1064299, null AS qty#1064325, null AS demandChannel#1064305, null AS demandStream#1064306, transform(prodPlantResults#1064279.kpiResults, lambdafunction(struct(label, lambda kpi#1064335.label, dateTime, lambda kpi#1064335.datetime, value, lambda kpi#1064335.value), lambda kpi#1064335, false)) AS kpis#1064334]"];
116 [id="node116" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [prodPlantResults#1064279]"];
subgraph cluster117 {
isCluster="true";
id="cluster117";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
118 [id="node118" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#1064272), false, [prodPlantResults#1064279]"];
119 [id="node119" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1064272]"];
120 [id="node120" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#1064272, true) > 0) AND isnotnull(prodPlantResults#1064272))"];
121 [id="node121" 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#1064271, 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#1064272]"];
}
122 [id="node122" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#1064268]"];
123 [id="node123" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [_extract_productId#1064470 AS product#1064285, _extract_plantId#1064471 AS plant#1064286, quantityKpiResults#1064291.quantity AS qty#1064292, null AS demandChannel#1064294, null AS demandStream#1064295, transform(quantityKpiResults#1064291.kpiResults, lambdafunction(struct(label, lambda kpi#1064335.label, dateTime, lambda kpi#1064335.datetime, value, lambda kpi#1064335.value), lambda kpi#1064335, false)) AS kpis#1064468]"];
subgraph cluster124 {
isCluster="true";
id="cluster124";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
125 [id="node125" labelType="html" label="<b>Generate</b><br><br>number of output rows: 0" tooltip="Generate explode(_extract_quantityKpiResults#1064472), [_extract_productId#1064470, _extract_plantId#1064471], false, [quantityKpiResults#1064291]"];
126 [id="node126" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1064324.productId AS _extract_productId#1064470, prodPlantResults#1064324.plantId AS _extract_plantId#1064471, prodPlantResults#1064324.quantityKpiResults AS _extract_quantityKpiResults#1064472]"];
127 [id="node127" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((size(prodPlantResults#1064324.quantityKpiResults, true) > 0) AND isnotnull(prodPlantResults#1064324.quantityKpiResults))"];
}
128 [id="node128" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [prodPlantResults#1064324], [(size(prodPlantResults#1064324.quantityKpiResults, true) > 0), isnotnull(prodPlantResults#1064324.quantityKpiResults)]"];
subgraph cluster129 {
isCluster="true";
id="cluster129";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
130 [id="node130" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#1064272), false, [prodPlantResults#1064279]"];
131 [id="node131" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1064272]"];
132 [id="node132" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#1064272, true) > 0) AND isnotnull(prodPlantResults#1064272))"];
133 [id="node133" labelType="html" label="<br><b>SerializeFromObject</b><br><br>" tooltip="SerializeFromObject [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement)))) null else named_struct(measuredUnit, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getMeasuredUnit()))), numberOfCalls, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getNumberOfCalls()), parent, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getParent()))), runtime, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getRuntime())), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getPerformanceMeasurements()), None) AS performanceMeasurements#1064271, 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#1064272]"];
}
134 [id="node134" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#1064268]"];
135 [id="node135" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [_extract_productId#1064473 AS product#1064307, _extract_plantId#1064474 AS plant#1064308, null AS qty#1064330, demandChannelStreamKpiResults#1064313.demandChannel AS demandChannel#1064315, demandChannelStreamKpiResults#1064313.demandStream AS demandStream#1064317, transform(demandChannelStreamKpiResults#1064313.kpiResults, lambdafunction(struct(label, lambda kpi#1064335.label, dateTime, lambda kpi#1064335.datetime, value, lambda kpi#1064335.value), lambda kpi#1064335, false)) AS kpis#1064469]"];
subgraph cluster136 {
isCluster="true";
id="cluster136";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
137 [id="node137" labelType="html" label="<b>Generate</b><br><br>number of output rows: 0" tooltip="Generate explode(_extract_demandChannelStreamKpiResults#1064475), [_extract_productId#1064473, _extract_plantId#1064474], false, [demandChannelStreamKpiResults#1064313]"];
138 [id="node138" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1064329.productId AS _extract_productId#1064473, prodPlantResults#1064329.plantId AS _extract_plantId#1064474, prodPlantResults#1064329.demandChannelStreamKpiResults AS _extract_demandChannelStreamKpiResults#1064475]"];
139 [id="node139" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((size(prodPlantResults#1064329.demandChannelStreamKpiResults, true) > 0) AND isnotnull(prodPlantResults#1064329.demandChannelStreamKpiResults))"];
}
140 [id="node140" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [prodPlantResults#1064329], [(size(prodPlantResults#1064329.demandChannelStreamKpiResults, true) > 0), isnotnull(prodPlantResults#1064329.demandChannelStreamKpiResults)]"];
subgraph cluster141 {
isCluster="true";
id="cluster141";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
142 [id="node142" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate explode(prodPlantResults#1064272), false, [prodPlantResults#1064279]"];
143 [id="node143" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [prodPlantResults#1064272]"];
144 [id="node144" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((size(prodPlantResults#1064272, true) > 0) AND isnotnull(prodPlantResults#1064272))"];
145 [id="node145" labelType="html" label="<br><b>SerializeFromObject</b><br><br>" tooltip="SerializeFromObject [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement)))) null else named_struct(measuredUnit, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getMeasuredUnit()))), numberOfCalls, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getNumberOfCalls()), parent, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getParent()))), runtime, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getRuntime())), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getPerformanceMeasurements()), None) AS performanceMeasurements#1064271, 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#1064272]"];
}
146 [id="node146" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#1064268]"];
147 [id="node147" 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=1688775]"];
subgraph cluster148 {
isCluster="true";
id="cluster148";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
149 [id="node149" 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=[])"];
}
150 [id="node150" 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=1688771]"];
subgraph cluster151 {
isCluster="true";
id="cluster151";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
152 [id="node152" 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=[])"];
153 [id="node153" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, product#1011818, plant#1011819, qty#1011822]"];
154 [id="node154" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter isNewlyCalculated#1061772: boolean"];
}
155 [id="node155" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [isNewlyCalculated#1061772, plant#1011819, product#1011818, qty#1011822, shardId#1011815, worklistShardItemId#1011816L], [isNewlyCalculated#1061772]"];
156 [id="node156" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster157 {
isCluster="true";
id="cluster157";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
158 [id="node158" 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#1061769, null AS demandStream#1061770, [] AS kpis#1061804, true AS isNewlyCalculated#1061772]"];
159 [id="node159" 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#1061761, ), isnull(shardId#1061761), coalesce(worklistShardItemId#1061762L, 0), isnull(worklistShardItemId#1061762L), coalesce(version#1061763, 0), isnull(version#1061763), coalesce(product#1061764, ), isnull(product#1061764), coalesce(plant#1061765, ), isnull(plant#1061765), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1061536, 0.0))), isnull(qty#1061536)], LeftAnti"];
}
subgraph cluster160 {
isCluster="true";
id="cluster160";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
161 [id="node161" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [coalesce(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"];
}
162 [id="node162" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(coalesce(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=1687964]"];
163 [id="node163" 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]"];
164 [id="node164" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster165 {
isCluster="true";
id="cluster165";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
166 [id="node166" 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 cluster167 {
isCluster="true";
id="cluster167";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
168 [id="node168" 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#1061761, ) ASC NULLS FIRST, isnull(shardId#1061761) ASC NULLS FIRST, coalesce(worklistShardItemId#1061762L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#1061762L) ASC NULLS FIRST, coalesce(version#1061763, 0) ASC NULLS FIRST, isnull(version#1061763) ASC NULLS FIRST, coalesce(product#1061764, ) ASC NULLS FIRST, isnull(product#1061764) ASC NULLS FIRST, coalesce(plant#1061765, ) ASC NULLS FIRST, isnull(plant#1061765) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1061536, 0.0))) ASC NULLS FIRST, isnull(qty#1061536) ASC NULLS FIRST], false, 0"];
}
169 [id="node169" 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#1061761, ), isnull(shardId#1061761), coalesce(worklistShardItemId#1061762L, 0), isnull(worklistShardItemId#1061762L), coalesce(version#1061763, 0), isnull(version#1061763), coalesce(product#1061764, ), isnull(product#1061764), coalesce(plant#1061765, ), isnull(plant#1061765), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1061536, 0.0))), isnull(qty#1061536), 37), ENSURE_REQUIREMENTS, [plan_id=1687984]"];
170 [id="node170" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
171 [id="node171" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1061761, worklistShardItemId#1061762L, version#1061763, product#1061764, plant#1061765, qty#1061536]"];
subgraph cluster172 {
isCluster="true";
id="cluster172";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
173 [id="node173" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1061534 AS qty#1061536, demandChannel#1061529, demandStream#1061530, cachedKpis#1061535 AS kpis#1061537]"];
174 [id="node174" 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#1061533L, cachedShardId#1061532], Inner"];
}
subgraph cluster175 {
isCluster="true";
id="cluster175";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
176 [id="node176" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [worklistShardItemId#1011816L ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST], false, 0"];
}
177 [id="node177" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(worklistShardItemId#1011816L, shardId#1011815, 37), ENSURE_REQUIREMENTS, [plan_id=1687852]"];
subgraph cluster178 {
isCluster="true";
id="cluster178";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
179 [id="node179" 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=[])"];
}
180 [id="node180" 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=1687848]"];
subgraph cluster181 {
isCluster="true";
id="cluster181";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
182 [id="node182" 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=[])"];
183 [id="node183" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
184 [id="node184" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1061523L, cachedShardId#1061522], Inner, BuildLeft, ((qty#1011822 = cachedQty#1061524) OR isnull(qty#1011822)), false"];
192 [id="node192" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061516 AS cachedShardId#1061522, worklistShardItemId#1061517L AS cachedWorklistShardItemId#1061523L, qty#1061518 AS cachedQty#1061524]"];
193 [id="node193" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061517L) AND isnotnull(shardId#1061516))"];
194 [id="node194" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061516,worklistShardItemId#1061517L,qty#1061518,demandChannel#1061519,demandStream#1061520,kpis#1061521]"];
}
185 [id="node185" 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=1687842]"];
subgraph cluster186 {
isCluster="true";
id="cluster186";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
187 [id="node187" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
188 [id="node188" 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)]"];
189 [id="node189" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster190 {
isCluster="true";
id="cluster190";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
191 [id="node191" 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 cluster195 {
isCluster="true";
id="cluster195";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
196 [id="node196" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [cachedWorklistShardItemId#1061533L ASC NULLS FIRST, cachedShardId#1061532 ASC NULLS FIRST], false, 0"];
}
197 [id="node197" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(cachedWorklistShardItemId#1061533L, cachedShardId#1061532, 37), ENSURE_REQUIREMENTS, [plan_id=1687858]"];
subgraph cluster198 {
isCluster="true";
id="cluster198";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
199 [id="node199" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061526 AS cachedShardId#1061532, worklistShardItemId#1061527L AS cachedWorklistShardItemId#1061533L, qty#1061528 AS cachedQty#1061534, demandChannel#1061529, demandStream#1061530, kpis#1061531 AS cachedKpis#1061535]"];
200 [id="node200" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061527L) AND isnotnull(shardId#1061526))"];
201 [id="node201" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061526,worklistShardItemId#1061527L,qty#1061528,demandChannel#1061529,demandStream#1061530,kpis#1061531]"];
}
subgraph cluster202 {
isCluster="true";
id="cluster202";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
203 [id="node203" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061743, worklistShardItemId#1061744L, version#1061745, product#1061746, plant#1061747, qty#1061750]"];
204 [id="node204" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1061744L, shardId#1061743], [cachedWorklistShardItemId#1061758L, cachedShardId#1061757], Inner, BuildLeft, false"];
212 [id="node212" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061751 AS cachedShardId#1061757, worklistShardItemId#1061752L AS cachedWorklistShardItemId#1061758L]"];
213 [id="node213" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061752L) AND isnotnull(shardId#1061751))"];
214 [id="node214" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061751,worklistShardItemId#1061752L,qty#1061753,demandChannel#1061754,demandStream#1061755,kpis#1061756]"];
}
205 [id="node205" 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=1687978]"];
subgraph cluster206 {
isCluster="true";
id="cluster206";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
207 [id="node207" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#1061750) AND isnotnull(worklistShardItemId#1061744L)) AND isnotnull(shardId#1061743))"];
}
208 [id="node208" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1061743, worklistShardItemId#1061744L, version#1061745, product#1061746, plant#1061747, qty#1061750], [isnull(qty#1061750), isnotnull(worklistShardItemId#1061744L), isnotnull(shardId#1061743)]"];
209 [id="node209" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster210 {
isCluster="true";
id="cluster210";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
211 [id="node211" 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 cluster215 {
isCluster="true";
id="cluster215";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
216 [id="node216" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061774, worklistShardItemId#1061775L, version#1061776, product#1061777, plant#1061778, qty#1061802, demandChannel#1061795, demandStream#1061796, kpis#1061803, false AS isNewlyCalculated#1061773]"];
}
217 [id="node217" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#1061795, demandStream#1061796, kpis#1061803, plant#1061778, product#1061777, qty#1061802, shardId#1061774, version#1061776, worklistShardItemId#1061775L]"];
subgraph cluster218 {
isCluster="true";
id="cluster218";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
219 [id="node219" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1061534 AS qty#1061536, demandChannel#1061529, demandStream#1061530, cachedKpis#1061535 AS kpis#1061537]"];
220 [id="node220" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size: 0.0 B" tooltip="SortMergeJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1061533L, cachedShardId#1061532], Inner"];
}
subgraph cluster221 {
isCluster="true";
id="cluster221";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
222 [id="node222" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [worklistShardItemId#1011816L ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST], false, 0"];
}
223 [id="node223" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(worklistShardItemId#1011816L, shardId#1011815, 37), ENSURE_REQUIREMENTS, [plan_id=1687852]"];
subgraph cluster224 {
isCluster="true";
id="cluster224";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
225 [id="node225" 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=[])"];
}
226 [id="node226" 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=1687848]"];
subgraph cluster227 {
isCluster="true";
id="cluster227";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
228 [id="node228" 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=[])"];
229 [id="node229" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
230 [id="node230" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1061523L, cachedShardId#1061522], Inner, BuildLeft, ((qty#1011822 = cachedQty#1061524) OR isnull(qty#1011822)), false"];
238 [id="node238" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061516 AS cachedShardId#1061522, worklistShardItemId#1061517L AS cachedWorklistShardItemId#1061523L, qty#1061518 AS cachedQty#1061524]"];
239 [id="node239" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061517L) AND isnotnull(shardId#1061516))"];
240 [id="node240" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061516,worklistShardItemId#1061517L,qty#1061518,demandChannel#1061519,demandStream#1061520,kpis#1061521]"];
}
231 [id="node231" 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=1687842]"];
subgraph cluster232 {
isCluster="true";
id="cluster232";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
233 [id="node233" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
234 [id="node234" 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)]"];
235 [id="node235" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster236 {
isCluster="true";
id="cluster236";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
237 [id="node237" 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 cluster241 {
isCluster="true";
id="cluster241";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
242 [id="node242" 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#1061533L ASC NULLS FIRST, cachedShardId#1061532 ASC NULLS FIRST], false, 0"];
}
243 [id="node243" 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#1061533L, cachedShardId#1061532, 37), ENSURE_REQUIREMENTS, [plan_id=1687858]"];
subgraph cluster244 {
isCluster="true";
id="cluster244";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
245 [id="node245" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061526 AS cachedShardId#1061532, worklistShardItemId#1061527L AS cachedWorklistShardItemId#1061533L, qty#1061528 AS cachedQty#1061534, demandChannel#1061529, demandStream#1061530, kpis#1061531 AS cachedKpis#1061535]"];
246 [id="node246" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061527L) AND isnotnull(shardId#1061526))"];
247 [id="node247" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061526,worklistShardItemId#1061527L,qty#1061528,demandChannel#1061529,demandStream#1061530,kpis#1061531]"];
}
248 [id="node248" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 281 ms<br>number of output rows: 2<br>data size: 2.0 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, true], input[1, bigint, true]),false), [plan_id=1688943]"];
subgraph cluster249 {
isCluster="true";
id="cluster249";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n13 ms (0 ms, 0 ms, 3 ms (stage 111377.0: task 365846))";
tooltip="WholeStageCodegen (4)";
250 [id="node250" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>5 ms (0 ms, 0 ms, 2 ms (stage 111377.0: task 365846))<br>peak memory total (min, med, max (stageId: taskId))<br>13.3 MiB (256.0 KiB, 256.0 KiB, 2.3 MiB (stage 111377.0: task 365846))<br>number of output rows: 2<br>number of sort fallback tasks: 0<br>avg hash probes per key (min, med, max (stageId: taskId)):<br>(1, 1, 1 (stage 111377.0: task 365846))" tooltip="HashAggregate(keys=[shardId#1065235, worklistShardItemId#1065236L], functions=[max(version#1065237)])"];
}
251 [id="node251" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 4<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 4<br>local bytes read total (min, med, max (stageId: taskId))<br>200.0 B (100.0 B, 100.0 B, 100.0 B (stage 111377.0: task 365846))<br>merged fetch fallback count: 0<br>local blocks read: 2<br>remote merged chunks fetched: 0<br>remote blocks read: 2<br>data size total (min, med, max (stageId: taskId))<br>192.0 B (48.0 B, 48.0 B, 48.0 B (stage 111376.0: task 365798))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>2 ms (0 ms, 0 ms, 0 ms (stage 111376.0: task 365775))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time total (min, med, max (stageId: taskId))<br>2 ms (0 ms, 2 ms, 2 ms (stage 111377.0: task 365846))<br>remote bytes read total (min, med, max (stageId: taskId))<br>200.0 B (100.0 B, 100.0 B, 100.0 B (stage 111377.0: task 365846))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>6 ms (3 ms, 3 ms, 3 ms (stage 111377.0: task 365846))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>400.0 B (100.0 B, 100.0 B, 100.0 B (stage 111376.0: task 365798))" tooltip="Exchange hashpartitioning(shardId#1065235, worklistShardItemId#1065236L, 37), ENSURE_REQUIREMENTS, [plan_id=1688939]"];
subgraph cluster252 {
isCluster="true";
id="cluster252";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n484 ms (0 ms, 0 ms, 43 ms (stage 111376.0: task 365785))";
tooltip="WholeStageCodegen (3)";
253 [id="node253" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>13 ms (0 ms, 0 ms, 4 ms (stage 111376.0: task 365778))<br>peak memory total (min, med, max (stageId: taskId))<br>18.5 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 111376.0: task 365785))<br>number of output rows: 4<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[shardId#1065235, worklistShardItemId#1065236L], functions=[partial_max(version#1065237)])"];
254 [id="node254" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4" tooltip="Filter (isnotnull(shardId#1065235) AND isnotnull(worklistShardItemId#1065236L))"];
}
255 [id="node255" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 4" tooltip="InMemoryTableScan [shardId#1065235, worklistShardItemId#1065236L, version#1065237], [isnotnull(shardId#1065235), isnotnull(worklistShardItemId#1065236L)]"];
256 [id="node256" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster257 {
isCluster="true";
id="cluster257";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
258 [id="node258" 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#1061769, null AS demandStream#1061770, [] AS kpis#1061804, true AS isNewlyCalculated#1061772]"];
259 [id="node259" 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#1061761, ), isnull(shardId#1061761), coalesce(worklistShardItemId#1061762L, 0), isnull(worklistShardItemId#1061762L), coalesce(version#1061763, 0), isnull(version#1061763), coalesce(product#1061764, ), isnull(product#1061764), coalesce(plant#1061765, ), isnull(plant#1061765), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1061536, 0.0))), isnull(qty#1061536)], LeftAnti"];
}
subgraph cluster260 {
isCluster="true";
id="cluster260";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
261 [id="node261" 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"];
}
262 [id="node262" 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=1687964]"];
263 [id="node263" 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]"];
264 [id="node264" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster265 {
isCluster="true";
id="cluster265";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
266 [id="node266" 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 cluster267 {
isCluster="true";
id="cluster267";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
268 [id="node268" 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#1061761, ) ASC NULLS FIRST, isnull(shardId#1061761) ASC NULLS FIRST, coalesce(worklistShardItemId#1061762L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#1061762L) ASC NULLS FIRST, coalesce(version#1061763, 0) ASC NULLS FIRST, isnull(version#1061763) ASC NULLS FIRST, coalesce(product#1061764, ) ASC NULLS FIRST, isnull(product#1061764) ASC NULLS FIRST, coalesce(plant#1061765, ) ASC NULLS FIRST, isnull(plant#1061765) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1061536, 0.0))) ASC NULLS FIRST, isnull(qty#1061536) ASC NULLS FIRST], false, 0"];
}
269 [id="node269" 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#1061761, ), isnull(shardId#1061761), coalesce(worklistShardItemId#1061762L, 0), isnull(worklistShardItemId#1061762L), coalesce(version#1061763, 0), isnull(version#1061763), coalesce(product#1061764, ), isnull(product#1061764), coalesce(plant#1061765, ), isnull(plant#1061765), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#1061536, 0.0))), isnull(qty#1061536), 37), ENSURE_REQUIREMENTS, [plan_id=1687984]"];
270 [id="node270" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
271 [id="node271" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1061761, worklistShardItemId#1061762L, version#1061763, product#1061764, plant#1061765, qty#1061536]"];
subgraph cluster272 {
isCluster="true";
id="cluster272";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
273 [id="node273" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1061534 AS qty#1061536, demandChannel#1061529, demandStream#1061530, cachedKpis#1061535 AS kpis#1061537]"];
274 [id="node274" 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#1061533L, cachedShardId#1061532], Inner"];
}
subgraph cluster275 {
isCluster="true";
id="cluster275";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
276 [id="node276" 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"];
}
277 [id="node277" 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=1687852]"];
subgraph cluster278 {
isCluster="true";
id="cluster278";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
279 [id="node279" 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=[])"];
}
280 [id="node280" 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=1687848]"];
subgraph cluster281 {
isCluster="true";
id="cluster281";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
282 [id="node282" 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=[])"];
283 [id="node283" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
284 [id="node284" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1061523L, cachedShardId#1061522], Inner, BuildLeft, ((qty#1011822 = cachedQty#1061524) OR isnull(qty#1011822)), false"];
292 [id="node292" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061516 AS cachedShardId#1061522, worklistShardItemId#1061517L AS cachedWorklistShardItemId#1061523L, qty#1061518 AS cachedQty#1061524]"];
293 [id="node293" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061517L) AND isnotnull(shardId#1061516))"];
294 [id="node294" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061516,worklistShardItemId#1061517L,qty#1061518,demandChannel#1061519,demandStream#1061520,kpis#1061521]"];
}
285 [id="node285" 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=1687842]"];
subgraph cluster286 {
isCluster="true";
id="cluster286";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
287 [id="node287" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
288 [id="node288" 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)]"];
289 [id="node289" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster290 {
isCluster="true";
id="cluster290";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
291 [id="node291" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#1011815,worklistShardItemId#1011816L,version#1011817,product#1011818,plant#1011819,periodStart#1011820,periodEnd#1011821,qty#1011822]"];
}
subgraph cluster295 {
isCluster="true";
id="cluster295";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
296 [id="node296" 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#1061533L ASC NULLS FIRST, cachedShardId#1061532 ASC NULLS FIRST], false, 0"];
}
297 [id="node297" 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#1061533L, cachedShardId#1061532, 37), ENSURE_REQUIREMENTS, [plan_id=1687858]"];
subgraph cluster298 {
isCluster="true";
id="cluster298";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
299 [id="node299" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061526 AS cachedShardId#1061532, worklistShardItemId#1061527L AS cachedWorklistShardItemId#1061533L, qty#1061528 AS cachedQty#1061534, demandChannel#1061529, demandStream#1061530, kpis#1061531 AS cachedKpis#1061535]"];
300 [id="node300" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061527L) AND isnotnull(shardId#1061526))"];
301 [id="node301" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061526,worklistShardItemId#1061527L,qty#1061528,demandChannel#1061529,demandStream#1061530,kpis#1061531]"];
}
subgraph cluster302 {
isCluster="true";
id="cluster302";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
303 [id="node303" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061743, worklistShardItemId#1061744L, version#1061745, product#1061746, plant#1061747, qty#1061750]"];
304 [id="node304" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1061744L, shardId#1061743], [cachedWorklistShardItemId#1061758L, cachedShardId#1061757], Inner, BuildLeft, false"];
312 [id="node312" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061751 AS cachedShardId#1061757, worklistShardItemId#1061752L AS cachedWorklistShardItemId#1061758L]"];
313 [id="node313" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061752L) AND isnotnull(shardId#1061751))"];
314 [id="node314" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061751,worklistShardItemId#1061752L,qty#1061753,demandChannel#1061754,demandStream#1061755,kpis#1061756]"];
}
305 [id="node305" 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=1687978]"];
subgraph cluster306 {
isCluster="true";
id="cluster306";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
307 [id="node307" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#1061750) AND isnotnull(worklistShardItemId#1061744L)) AND isnotnull(shardId#1061743))"];
}
308 [id="node308" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#1061743, worklistShardItemId#1061744L, version#1061745, product#1061746, plant#1061747, qty#1061750], [isnull(qty#1061750), isnotnull(worklistShardItemId#1061744L), isnotnull(shardId#1061743)]"];
309 [id="node309" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster310 {
isCluster="true";
id="cluster310";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
311 [id="node311" 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 cluster315 {
isCluster="true";
id="cluster315";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
316 [id="node316" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061774, worklistShardItemId#1061775L, version#1061776, product#1061777, plant#1061778, qty#1061802, demandChannel#1061795, demandStream#1061796, kpis#1061803, false AS isNewlyCalculated#1061773]"];
}
317 [id="node317" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#1061795, demandStream#1061796, kpis#1061803, plant#1061778, product#1061777, qty#1061802, shardId#1061774, version#1061776, worklistShardItemId#1061775L]"];
subgraph cluster318 {
isCluster="true";
id="cluster318";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
319 [id="node319" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, cachedQty#1061534 AS qty#1061536, demandChannel#1061529, demandStream#1061530, cachedKpis#1061535 AS kpis#1061537]"];
320 [id="node320" 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#1061533L, cachedShardId#1061532], Inner"];
}
subgraph cluster321 {
isCluster="true";
id="cluster321";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
322 [id="node322" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [worklistShardItemId#1011816L ASC NULLS FIRST, shardId#1011815 ASC NULLS FIRST], false, 0"];
}
323 [id="node323" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(worklistShardItemId#1011816L, shardId#1011815, 37), ENSURE_REQUIREMENTS, [plan_id=1687852]"];
subgraph cluster324 {
isCluster="true";
id="cluster324";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
325 [id="node325" 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=[])"];
}
326 [id="node326" 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=1687848]"];
subgraph cluster327 {
isCluster="true";
id="cluster327";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
328 [id="node328" 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=[])"];
329 [id="node329" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819]"];
330 [id="node330" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#1011816L, shardId#1011815], [cachedWorklistShardItemId#1061523L, cachedShardId#1061522], Inner, BuildLeft, ((qty#1011822 = cachedQty#1061524) OR isnull(qty#1011822)), false"];
338 [id="node338" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061516 AS cachedShardId#1061522, worklistShardItemId#1061517L AS cachedWorklistShardItemId#1061523L, qty#1061518 AS cachedQty#1061524]"];
339 [id="node339" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061517L) AND isnotnull(shardId#1061516))"];
340 [id="node340" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061516,worklistShardItemId#1061517L,qty#1061518,demandChannel#1061519,demandStream#1061520,kpis#1061521]"];
}
331 [id="node331" 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=1687842]"];
subgraph cluster332 {
isCluster="true";
id="cluster332";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
333 [id="node333" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1011816L) AND isnotnull(shardId#1011815))"];
}
334 [id="node334" 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)]"];
335 [id="node335" labelType="html" label="<br><b>Exchange</b><br><br>" tooltip="Exchange hashpartitioning(product#1011818, plant#1011819, 37), REPARTITION_BY_NUM, [plan_id=1687734]"];
subgraph cluster336 {
isCluster="true";
id="cluster336";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
337 [id="node337" 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 cluster341 {
isCluster="true";
id="cluster341";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
342 [id="node342" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [cachedWorklistShardItemId#1061533L ASC NULLS FIRST, cachedShardId#1061532 ASC NULLS FIRST], false, 0"];
}
343 [id="node343" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(cachedWorklistShardItemId#1061533L, cachedShardId#1061532, 37), ENSURE_REQUIREMENTS, [plan_id=1687858]"];
subgraph cluster344 {
isCluster="true";
id="cluster344";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
345 [id="node345" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#1061526 AS cachedShardId#1061532, worklistShardItemId#1061527L AS cachedWorklistShardItemId#1061533L, qty#1061528 AS cachedQty#1061534, demandChannel#1061529, demandStream#1061530, kpis#1061531 AS cachedKpis#1061535]"];
346 [id="node346" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#1061527L) AND isnotnull(shardId#1061526))"];
347 [id="node347" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#1061526,worklistShardItemId#1061527L,qty#1061528,demandChannel#1061529,demandStream#1061530,kpis#1061531]"];
}
1->0;
3->1;
4->3;
5->4;
7->5;
8->7;
9->8;
10->9;
12->10;
13->12;
15->13;
16->15;
17->16;
18->17;
20->18;
22->13;
23->22;
24->23;
25->24;
27->25;
28->27;
30->28;
31->30;
33->31;
34->33;
36->34;
37->36;
38->37;
39->38;
41->39;
42->41;
43->42;
45->43;
46->38;
47->46;
48->47;
50->28;
51->50;
53->51;
54->53;
55->54;
57->24;
58->57;
59->58;
61->59;
62->61;
63->62;
65->63;
66->58;
67->66;
68->67;
70->10;
71->70;
73->71;
74->73;
76->74;
77->76;
79->77;
80->79;
82->80;
83->82;
84->83;
85->84;
87->85;
88->87;
89->88;
91->89;
92->84;
93->92;
94->93;
96->74;
97->96;
99->97;
100->99;
101->100;
103->5;
104->103;
105->104;
107->105;
108->107;
109->108;
111->109;
112->111;
113->112;
114->113;
115->114;
116->115;
118->116;
119->118;
120->119;
121->120;
122->121;
123->114;
125->123;
126->125;
127->126;
128->127;
130->128;
131->130;
132->131;
133->132;
134->133;
135->114;
137->135;
138->137;
139->138;
140->139;
142->140;
143->142;
144->143;
145->144;
146->145;
147->113;
149->147;
150->149;
152->150;
153->152;
154->153;
155->154;
156->155;
158->156;
159->158;
161->159;
162->161;
163->162;
164->163;
166->164;
168->159;
169->168;
170->169;
171->170;
173->171;
174->173;
176->174;
177->176;
179->177;
180->179;
182->180;
183->182;
184->183;
185->184;
187->185;
188->187;
189->188;
191->189;
192->184;
193->192;
194->193;
196->174;
197->196;
199->197;
200->199;
201->200;
203->170;
204->203;
205->204;
207->205;
208->207;
209->208;
211->209;
212->204;
213->212;
214->213;
216->156;
217->216;
219->217;
220->219;
222->220;
223->222;
225->223;
226->225;
228->226;
229->228;
230->229;
231->230;
233->231;
234->233;
235->234;
237->235;
238->230;
239->238;
240->239;
242->220;
243->242;
245->243;
246->245;
247->246;
248->4;
250->248;
251->250;
253->251;
254->253;
255->254;
256->255;
258->256;
259->258;
261->259;
262->261;
263->262;
264->263;
266->264;
268->259;
269->268;
270->269;
271->270;
273->271;
274->273;
276->274;
277->276;
279->277;
280->279;
282->280;
283->282;
284->283;
285->284;
287->285;
288->287;
289->288;
291->289;
292->284;
293->292;
294->293;
296->274;
297->296;
299->297;
300->299;
301->300;
303->270;
304->303;
305->304;
307->305;
308->307;
309->308;
311->309;
312->304;
313->312;
314->313;
316->256;
317->316;
319->317;
320->319;
322->320;
323->322;
325->323;
326->325;
328->326;
329->328;
330->329;
331->330;
333->331;
334->333;
335->334;
337->335;
338->330;
339->338;
340->339;
342->320;
343->342;
345->343;
346->345;
347->346;
}