PySpark学习笔记3-案例练习

搜索引擎日志分析

需求1 用户搜索关键词分析

需求2 用户和关键词组合分析

需求3 热门搜索时间段分析

首先对于数据可以用jieba库进行分词处理

python 复制代码
from pyspark import SparkConf,SparkContext
from defs import context_jieba,filter_words,append_words
from oprator import add
from pyspark.storagelevel import storagelevel

if __name__ == '__main__':
conf = SparkConf().setAppName('sougou').setMaster("local[*]")
#读取文件
sc = SparkContext('../sougou.txt')
split_rdd = file_rdd.map(lambda line:line.split('\t'))
#送入缓存
split_rdd.persist(StorageLevel.DISK_ONLY)
#需求1
context_rdd = split_rdd.map(lambda x : x[2])
# 对取出来的第二列搜索内容做分词操作
word_rdd = context_rdd.flatMap(context_jieba)
filter_rdd = word_rdd.filter(filter_words)
final_words_rdd = filter_rdd.amp(append_words)
#统计关键词的个数
result1 = final_words_rdd.reduceByKey(lambda a,b: a + b).sortBy(lambda x : x[1],ascending=False,numPartitions=1).take(5)
print('需求一结果',result1)
#需求2
user_content_rdd = split_rdd.map(lambda x:(x[1],x[2]))
user_word_rdd = uder_content_tdd.flatMap(extract_user_and_word)
user_word_with_one_rddd = user_word_rdd.map(lambda x:(x:1))
result2 = user_word_with_one_rddd.reduceByKey(lambda a,b:a+b).sortBy(lambda x:x[1],ascending=False,numpPartitions=1).take(5)
print(result2)
#需求3
time_rdd = split_rdd.map(lambda x:x[0])
hour_with_one_rdd  = time_rdd.map(lambda x:(x.split(":")[0],1))
result3 = hpour_with_one_rdd.reduceByKey(add).sortBy(lambda x:x[1],ascending=False,numPartitions=1).collect()
print(result3)

将代码提交到集群中运行

powershell 复制代码
/spark/bin/spark-submit --master yarn --py-files def.py /root/main.py
相关推荐
天水幼麟1 小时前
动手学深度学习-学习笔记(总)
笔记·深度学习·学习
天水幼麟3 小时前
动手学深度学习-学习笔记【二】(基础知识)
笔记·深度学习·学习
绿皮的猪猪侠4 小时前
算法笔记上机训练实战指南刷题
笔记·算法·pta·上机·浙大
沧海一笑-dj4 小时前
【51单片机】51单片机学习笔记-课程简介
笔记·学习·51单片机·江科大·江科大学习笔记·江科大单片机·江科大51单片机
老虎06274 小时前
JavaWeb(苍穹外卖)--学习笔记04(前端:HTML,CSS,JavaScript)
前端·javascript·css·笔记·学习·html
大苏打seven5 小时前
Docker学习笔记:Docker网络
笔记·学习·docker
Green1Leaves7 小时前
pytorch学习-9.多分类问题
人工智能·pytorch·学习
慕y2747 小时前
Java学习第十五部分——MyBatis
java·学习·mybatis
碣石潇湘无限路8 小时前
【AI篇】当Transformer模型开始学习《孙子兵法》
人工智能·学习
kikikidult9 小时前
(2025.07)解决——ubuntu20.04系统开机黑屏,左上角光标闪烁
笔记·ubuntu