微信微网站怎么做,wordpress里的导航用什么位置,学校教育网站建设,word可以做网页吗m文章目录 一、Spark实战#xff1a;词频统计#xff08;一#xff09;Scala版1、分步完成词频统计2、一步搞定词频统计 #xff08;二#xff09;Python版1、分步完成词频统计2、一步搞定词频统计 二、实战总结 一、Spark实战#xff1a;词频统计
#xff08;一#x… 文章目录 一、Spark实战词频统计一Scala版1、分步完成词频统计2、一步搞定词频统计 二Python版1、分步完成词频统计2、一步搞定词频统计 二、实战总结 一、Spark实战词频统计
一Scala版
1、分步完成词频统计
1基于文本文件创建RDD
执行命令val lines sc.textFile(/home/test.txt)
2按空格拆分作扁平化映射
执行命令val words lines.flatMap(_.split( ))
3将单词数组映射成二元组数组
执行命令val tuplewords words.map((_, 1))
4将二元组数组按键归约
执行命令val wordcount tuplewords.reduceByKey(_ _)
5将词频统计结果按次数降序排列
执行命令val sortwordcount wordcount.sortBy(_._2, false)
2、一步搞定词频统计
执行命令sc.textFile(/home/test.txt).flatMap(_.split( )).map((_,1)).reduceByKey(_ _).sortBy(_._2, false).collect.foreach(println)
二Python版
1、分步完成词频统计
1基于文本文件创建RDD
执行命令lines sc.textFile(/home/test.txt)
2按空格拆分作扁平化映射
执行命令words lines.flatMap(lambda line : line.split( ))
3将单词数组映射成二元组数组
执行命令tuplewords words.map(lambda word : (word, 1))
4将二元组数组按键归约
执行命令wordcount tuplewords.reduceByKey(lambda a, b : a b)
5将词频统计结果按次数降序排列
执行命令sortwordcount wordcount.sortBy(lambda wc : wc[1], False)
2、一步搞定词频统计
执行命令
for line in sc.textFile(/home/test.txt).flatMap(lambda line : line.split( )).map(lambda word : (word, 1)).reduceByKey(lambda a, b : a b).sortBy(lambda tup : tup[1], False).collect():print(line)二、实战总结
在Spark实战中我们通过Scala和Python两个版本分别实现了词频统计的功能。首先我们从文本文件中创建了RDD然后按空格拆分进行扁平化映射接着将单词数组映射成二元组数组之后对二元组数组进行按键归约最后将词频统计结果按次数降序排列。在分步实现的基础上我们还可以通过一步命令直接完成整个流程。通过这次实战我们对Spark的基本操作有了更深入的了解为后续的学习和实践打下了基础。