againfeel free to take moment and stare at this little bit longer if you want it to sink in nothing really fancy going on herebut there are few important pointswe introduced the use of cache if you want to make sure that you don' do unnecessary recomputations on an rdd that you're going to use more than once we introduced the use of the sfevdf function we have couple of interesting mapper functions as well hereso there' lot to learn from in this example at the end of the dayit will just do -means clusteringso let' go ahead and run it running the code go to the tools menucanopy command promptand type intqbsltvcnju qbslfbotqz hit returnand off it will go in this situationyou might have to wait few moments for the output to appear in front of youbut you should see something like thisit workedawesomeso rememberthe output that we asked for wasfirst of alla count of how many points ended up in each cluster sothis is telling us that cluster had points in itcluster had points in itand so on and so forth it ended up pretty evenly distributedso that' good sign nextwe printed out the cluster assignments for each individual pointandif you rememberthe original data that fabricated this data did it sequentiallyso it' actually good thing that you see all of the togetherand all the togetherand all the togetherit looks like it started to get little bit confused with the and sbut by and largeit seems to have done pretty good job of uncovering the clusters that we created the data with originally