digraph G {
0 [labelType="html" label="<br><b>CollectLimit</b><br><br>"];
subgraph cluster1 {
isCluster="true";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n45 ms (0 ms, 0 ms, 11 ms (stage 98.0: task 3108))";
2 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build total (min, med, max (stageId: taskId))<br>16 ms (0 ms, 0 ms, 10 ms (stage 98.0: task 3108))<br>peak memory total (min, med, max (stageId: taskId))<br>178.0 MiB (256.0 KiB, 256.0 KiB, 64.3 MiB (stage 98.0: task 3107))<br>number of output rows: 2<br>avg hash probe bucket list iters (min, med, max (stageId: taskId)):<br>(1, 1, 1 (stage 98.0: task 3107))"];
}
3 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 400<br>shuffle write time total (min, med, max (stageId: taskId))<br>709 ms (2 ms, 3 ms, 5 ms (stage 85.0: task 2959))<br>records read: 400<br>local bytes read total (min, med, max (stageId: taskId))<br>16.6 KiB (0.0 B, 0.0 B, 8.4 KiB (stage 98.0: task 3107))<br>fetch wait time total (min, med, max (stageId: taskId))<br>2 ms (0 ms, 0 ms, 2 ms (stage 98.0: task 3108))<br>remote bytes read total (min, med, max (stageId: taskId))<br>16.6 KiB (0.0 B, 0.0 B, 9.0 KiB (stage 98.0: task 3107))<br>local blocks read: 200<br>remote blocks read: 200<br>data size total (min, med, max (stageId: taskId))<br>17.2 KiB (88.0 B, 88.0 B, 88.0 B (stage 85.0: task 2782))<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>33.2 KiB (169.0 B, 170.0 B, 171.0 B (stage 85.0: task 2825))"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n1.3 s (5 ms, 6 ms, 14 ms (stage 85.0: task 2818))";
5 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build total (min, med, max (stageId: taskId))<br>328 ms (1 ms, 2 ms, 5 ms (stage 85.0: task 2783))<br>peak memory total (min, med, max (stageId: taskId))<br>50.0 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 85.0: task 2782))<br>number of output rows: 400"];
6 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build total (min, med, max (stageId: taskId))<br>185 ms (0 ms, 1 ms, 2 ms (stage 85.0: task 2782))<br>peak memory total (min, med, max (stageId: taskId))<br>12.5 GiB (64.3 MiB, 64.3 MiB, 64.3 MiB (stage 85.0: task 2782))<br>number of output rows: 330,975<br>avg hash probe bucket list iters (min, med, max (stageId: taskId)):<br>(1, 1, 1 (stage 85.0: task 2782))"];
}
7 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 331,002<br>shuffle write time total (min, med, max (stageId: taskId))<br>465 ms (13 ms, 15 ms, 22 ms (stage 84.0: task 2755))<br>records read: 331,002<br>local bytes read total (min, med, max (stageId: taskId))<br>2.2 MiB (8.6 KiB, 12.2 KiB, 13.5 KiB (stage 85.0: task 2973))<br>fetch wait time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 85.0: task 2782))<br>remote bytes read total (min, med, max (stageId: taskId))<br>2.2 MiB (8.6 KiB, 10.2 KiB, 13.6 KiB (stage 85.0: task 2932))<br>local blocks read: 2,812<br>remote blocks read: 2,788<br>data size total (min, med, max (stageId: taskId))<br>7.6 MiB (233.1 KiB, 279.2 KiB, 294.1 KiB (stage 84.0: task 2761))<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>4.4 MiB (136.4 KiB, 159.4 KiB, 169.5 KiB (stage 84.0: task 2758))"];
subgraph cluster8 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n2.3 m (4.2 s, 4.4 s, 6.5 s (stage 84.0: task 2754))";
9 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build total (min, med, max (stageId: taskId))<br>2.3 m (4.2 s, 4.4 s, 6.5 s (stage 84.0: task 2754))<br>peak memory total (min, med, max (stageId: taskId))<br>7.0 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 84.0: task 2755))<br>number of output rows: 331,002"];
10 [labelType="html" label="<br><b>Project</b><br><br>"];
11 [labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 33,832,162"];
}
2->0;
3->2;
5->3;
6->5;
7->6;
9->7;
10->9;
11->10;
}
12
CollectLimit 21
HashAggregate(keys=[user_type#372], functions=[count(1)])
WholeStageCodegen (3)
Exchange hashpartitioning(user_type#372, 200), true, [id=#546]
HashAggregate(keys=[user_type#372], functions=[partial_count(1)])
HashAggregate(keys=[userId#0L], functions=[count(1)])
WholeStageCodegen (2)
Exchange hashpartitioning(userId#0L, 200), true, [id=#541]
HashAggregate(keys=[userId#0L], functions=[partial_count(1)])
Project [userId#0L]
Scan ExistingRDD[userId#0L,movieId#1L,rating#2,timestamp_str#3L]
WholeStageCodegen (1)