使用Spark RDD算子实现经典实战案例: 热门中文热词频Top10统计 数据分析案例

  • 学习:知识的初次邂逅
  • 复习:知识的温故知新
  • 练习:知识的实践应用

目录

一,需求

二,思路

三,代码实现


一,需求

本文案例的资源,可直接下载

https://download.csdn.net/download/qq_55006020/89864064?spm=1001.2014.3001.5501

案例要求:  要求:统计出title中 热门词频Top10

有这么有一份数据文件 46.2MB

打开之后:

要求:统计出title中 热门词频Top10

实现技术栈:

实现这道题的需求,可以用的工具选择有很多,用sql,用hive,用pandas等都可以实现;

这里用spark中的RDD算子分析;


二,思路

  • 第一步:导入数据
  • 第二步:把数据转为字典
  • 第三步:根据字典键取值,拿到title
  • 第四步:使用jieba分词,过滤掉形容词,保留名词
  • 第五步:多维列表拉平至一维列表;
  • 第六步:过滤单词长度小于1的;  
  • 第七步:单词计数,转为kv结构,给每个单词后面计数为1
  • 第八步:reduce规约,统计单词次数
  • 第九步:排序,以单词出现的次数降序排序
  • 第十步:输出前Top10的单词以及出现的次数

完整代码

# encoding=utf-8

import json
from pyspark import SparkContext
import jieba.posseg as pseg

sc = SparkContext()
#第一步,导入数据
rdd = sc.textFile('hdfs://node1:8020/baike_qa_valid.json')
# print(rdd.take(10))
#第二步,转json为字典
rdd_dict = rdd.map(lambda x:json.loads(x))
# print(rdd_dict.take(10))
#第三步,遍
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值