如何使用pyspark统计词频?

假如进化的历史重来一遍,
人的出现概率是零。 
—— 古德尔
Spark 作为一个用途广泛的大数据运算平台。
Spark 允许用户将数据加载到多台计算机所建立的 cluster 集群的内存中存储,执行分布式计算,再加上 Spark 特有的内存运算,让执行速度大幅提升,非常适合用于机器学习的算法。况且,spark包含大量开箱即用的机器学习库。
算法包括分类与回归、支持向量机、回归、线性回归、决策树、朴素贝叶斯、聚类分析、协同过滤等。
使用spark必须先了解Spark的核心——RDD
分布式数据集Resiliennt Distributed Datasets(简称RDD)之上的,这使得 Spark 的各个组件可以无缝地进行集成,能够在同一个应用程序中完成大数据处理。

使用spark统计词频

今天分享一个最基础的应用,就是统计语料里的词频,找到高频词。
from pyspark import SparkContextsc = SparkContext('local', "WordCount")
先初始化spark,然后加载数据
data=["mixlab", "mixlab 无界 社区","mixlab 让 每个人 无限 可能 跨界 设计师 全栈 程序员 算法 工程师","shadow","hello shadow"]
lines = sc.parallelize(data)
注意以上代码,data是一个list,通过sc.parallelize可以把Python list,NumPy array或者Pandas Series,Pandas DataFrame转成Spark的RDD数据。
然后,开始处理
result = lines.flatMap(lambda x: x.split(" ")).countByValue()
for key, value in result.items(): print("%s %i" % (key, value))    

处理结果

mixlab 3无界 1社区 1让 1每个人 1无限 1可能 1跨界 1设计师 1全栈 1程序员 1算法 1工程师 1shadow 2hello 1
通过简单的代码,了解flatMap的作用
x = sc.parallelize([1,2,3])y = x.flatMap(lambda x: (x+1,300*x,x/2))print(x.collect())print(y.collect())
#[1, 2, 3]#[2, 300, 0.5, 3, 600, 1.0, 4, 900, 1.5]
可以看到输出结果,flatMap是先映射后扁平化。
在通过代码,了解countByValue的作用。
x = sc.parallelize(["AB","B","B"])y = x.countByValue()print(x.collect())print(y)
#['AB', 'B', 'B']#{'AB': 1, 'B': 2}

统计一个RDD中各个value的出现次数。返回一个map,map的key是元素的值,value是出现的次数。

统计词频的技能你get了吗?可以加入mixlab无界社区交流~

(0)

相关推荐

  • 搭建Spark计算平台 python操作Spark

    一.Spark安装及服务启动 Apache Spark是一种快速的集群计算技术,专为快速计算而设计.它基于Hadoop MapReduce,它扩展了MapReduce模型,以有效地将其用于更多类型的计 ...

  • win10 安装 spark单机版(失败版)

    书里面使用这个spark,我这里就配置一下(失败了...) 从这里下载 https://www.apache.org/dyn/closer.lua/spark/spark-3.1.2/spark-3. ...

  • 全面解析Spark,以及和Python的对接

    作者:@古明地盆 喜欢这篇文章的话,就点个关注吧,或者去bilibili看看我也行,虽然啥也没有.:https://space.bilibili.com/12921175 楔子 这次我们来聊一聊 Sp ...

  • 大数据入门与实战-PySpark的使用教程

    大数据入门与实战-PySpark的使用教程

  • 没有自己的服务器如何学习生物数据分析(上篇)

    编者注:完整文章首发于作者博客 http://huboqiang.cn/ 在这篇文章中,作者利用大数据平台 IBM data science 对生信技能树论坛的一道生物信息入门题进行了分析. 由于文章 ...

  • pyspark入门教程

    目录 一.windows下配置pyspark环境 1.1 jdk下载安装 1.2 Scala下载安装 1.3 spark下载安装 1.4 Hadoop下载安装 1.5 pyspark下载安装 1.6 ...

  • 基于给定词语列表统计词频

    基于给定词语列表并统计词频,统计结果输出到csv中.有两种实现方法 方法一:常规的统计给定关键词的词频 思路: 第一步,整理好待查询query_words 第二步,新建一个csv文件,并且将query ...

  • ​LeetCode刷题实战192:统计词频

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  • Python读取Word统计词频输出到Excel

    Python读取Word统计词频输出到Excel

  • 词频统计小程序-WordCount.exe

            最近顶哥为了完成学历提升学业中的小作业,做了一个词频统计的.exe小程序.因为当时做的时候网上的比较少,因此顶哥决定把自己拙略的作品发出来给需要的人提供一种思路,希望各位看官不要dis ...

  • 【每周一坑】统计英文小说词频

    Thank God It's Friday! 又到周五啦!眼看就要忙完一周的学习和工作,又可以出去浪咯. 然而,只有我们依旧无趣地在此刻发干货文,提醒着你有没有写新的代码?有没有了解新的语法?硬生生给 ...

  • R语言 | 词频统计

    Python网络爬虫与文本数据分析 本章内容 导入停用词 读数据,分词 剔除停用词 导入停用词表 library(dplyr) stopwords <- readtext::readtext(& ...

  • 解析52年西南局与西南军政委员会领导人的构成与职级统计(之四)

    (接前文) 第一部分,西南局书记.副书记的评级统计: 刘伯承(52年大军区司令员政委级,55年军委主席副主席级):西南局第二书记(49.10-54.12) 早期革命资历:1926年5月入党,1927年 ...

  • 统计计量 | 回归系数不显著,其原因和解决思路有哪些?

    本文转载自公众号林林山川 相信大家在做数据分析时,一定遇见过数据不显著的问题,不要气馁,因为不显著才是常态,显著反而是少数. 需要注意的是,当遇见回归系数不显著时,我们不能简单的认为对应的解释变量对被 ...

  • HR使用数据统计的7个技巧

    在人力资源管理中使用统计数据存在许多误解和误解,常常使我们无法利用统计数据所拥有的价值,例如"高级统计优于基本统计"或"负相关性不好".我们在这里消除这些神话和 ...