本文主要是介绍使用Python本地运行Spark获取中文文章词频TopN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.环境准备
在Windows下使用Pycharm运行Spark代码_SpecialRiot的博客-CSDN博客
2.代码实现
分词使用的jieba分词框架,通过分词后进行wordCount操作再对value进行排序,截取前N个。
from pyspark import SparkConf,SparkContext
import jiebadef main(sc):textFile = sc.textFile("./word.txt")#分词 一行变多行rdd1 = textFile.flatMap(lambda line:jieba.cut(line, cut_all= False))#转为KVrdd2 = rdd1.map(lambda word: (word, 1))#根据K进行合并,并将V的值累加rdd3 = rdd2.reduceByKey(lambda a, b: a + b)#根据V进行降序排序rdd4 = rdd3.sortBy(lambda x: x[1], ascending = False)#获取前10条数据rdd5 = rdd4.take(10)#进行打印for a in rdd5:print(a)if __name__ =="__main__":conf = SparkConf().setAppName("application")conf = conf.setMaster("local")sc = SparkContext(conf=conf)main(sc)
3.运行结果
结果中符号排序在前,可以先进行数据清理工作再运行。
这篇关于使用Python本地运行Spark获取中文文章词频TopN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!