分析代码
import os
from pyspark import SparkConf
from pyspark.sql import SparkSession, types
os.environ['PYSPARK_PYTHON'] = "C:\\Users\\Sam\\anaconda3\\python.exe"
if __name__ == '__main__':
#初始化
conf = SparkConf().setAppName('work').setMaster('local[*]')
spark = SparkSession.builder.config(conf=conf).getOrCreate()
sc = spark.sparkContext
sc.setLogLevel('WARN')
#----------苏菲------------------------
#加载数据
rdd = sc.textFile('sf01_data.csv')
#数据清洗 /去除缺失值/去除第一行字段名称/去除重复值
rdd = rdd.map(lambda x: x.split(','))\
.filter(lambda x: len(x) == 10)\
.filter(lambda x: x[0] != "sf_guid")
#rdd.foreach(print)
#rdd.saveAsTextFile("./sufei_data")
#1. 苏菲的评论年份特征-折线图-长 #选取时间这一列并获取年份信息/进行统计个数/通过年份进行排序,更加直观
print("------------------------")
print("苏菲的评论日期特征")
rdd1 = rdd.map(lambda x: (x[3][:4], 1))\
.reduceByKey(lambda x, y: x + y)\
.sortByKey()
rdd1.foreach(print)
#2. 苏菲的评论时间特征-折线图-长
print("------------------------")
print("苏菲的评论时间特征")
rdd2 = rdd.map(lambda x: ((x[3].split(" ")[1][:2]), 1))\
.reduceByKey(lambda x,y: x+y)
rdd2.foreach(print)
#3.苏菲的评分特征-饼状图-正方形
print("------------------------")
print("苏菲的评分特征")
rdd3 = rdd.map(lambda x: (x[5], 1)).reduceByKey(lambda x,y: x+y)
rdd3.foreach(print)
#4. 苏菲的客户端特征-扇形图-小
print("------------------------")
print("苏菲的客户端特征")
rdd4 = rdd.map(lambda x: (x[6], 1)).reduceByKey(lambda x,y: x+y)
rdd4.foreach(print)
#5. 苏菲的用户评论地理位置-地理图
print("------------------------")
print("苏菲的用户评论地理位置")
rdd5 = rdd.map(lambda x: (x[9], 1))\
.reduceByKey(lambda x,y:x+y)\
.sortBy(lambda x: x[1])
rdd5.foreach(print)
#6. 苏菲的产品不同颜色或款式统计-柱状图-长 #有些数据为空需去除/根据销量排序选择top5
print("------------------------")
print("苏菲的产品不同颜色或款式统计")
rdd6 = rdd.map(lambda x: (x[4], 1))\
.filter(lambda x: x[0] != '')\
.reduceByKey(lambda x, y: x+y)\
.sortBy(lambda x: -x[1]).take(5)
for a in rdd6:
print(a)
#7.苏菲的评论周期
print("------------------------")
print("苏菲的评论周期")
rdd7 = rdd.map(lambda x: (x[7], 1))\
.reduceByKey(lambda x, y: x+y)\
.sortBy(lambda x: -x[1])\
.take(10)
for b in rdd7:
print(b)
运行结果
------------------------
苏菲的评论日期特征
------------------------
苏菲的评论时间特征
------------------------
苏菲的评分特征
------------------------
苏菲的客户端特征
------------------------
苏菲的用户评论地理位置
------------------------
苏菲的产品不同颜色或款式统计
('精选日夜组合68片', 1070)
('420mm夜用12片【4片/6片随机发】', 979)
('290mm 20片', 958)
('超值日夜组合100片', 836)
('日夜组合86片', 823)
------------------------
苏菲的评论周期
('4', 6078)
('3', 5933)
('5', 5071)
('6', 4668)
('7', 3976)
('2', 3928)
('8', 3452)
('9', 2885)
('1', 2728)
('10', 2481)
sf01_data.csv文件部分数据
sf_guid,sf_nickname,sf_content,sf_creationTime,sf_productColor,sf_score,sf_userClient,sf_days,sf_imageCount,sf_location
79dc24f4671602528a3cbe37a8025df8,鬼***鑫,京东物流发货速度快已经买了好多次了质量没问题有保障护舒宝大品牌值得信赖舒适度高透气性好耐用性强性价比很高,2024-02-18 23:08:37,超熟睡裸感肌 290mm 8片,5.0,4.0,31,4.0,北京
37c34f6e2e36f5fb81937c99ab84f2ce,s***7,这款卫生巾老牌子了一直是我信赖的品牌京东太方便了每次都是家里没用的了直接在京东自营店购买去超市的时间都省下来了太幸福了,2024-02-02 07:32:16,超熟睡柔棉感 350mm 8片,5.0,4.0,5,4.0,北京
5d31f15927f0d90cbf68704e76d47ec7,淡***n,平常都是用的护舒宝这次换个牌子试试一次性买了好几包多买就有优惠简直是太划算了而且比超市还便宜些特别喜欢京东的物流真是神速这么冷的天还下着雨还送来了真是喜欢啊,2024-02-21 23:27:39,超熟睡裸感肌 350mm 8片,5.0,4.0,1,3.0,湖北
0512fb700742a611c8d5c55da701a0cc,n***k,包装好物流快价格实惠比超市便宜多了实用性和颜值都非常的赞我很喜欢还会再来买的宝贝收到了质量很不错包装精致材质优秀比想象中好送礼自用非常合适下次继续购买,2024-02-18 22:09:36,超熟睡柔棉感 350mm 8片,5.0,4.0,34,3.0,天津
a295a342b228d68c3b6161970b3dadd5,古***3,好用一直买的品牌质量不错非常好长期回购很好很不错姨妈期量大苏菲不侧漏舒服实用用完再接着买一次囤好多了helliphellip,2024-01-28 17:13:35,柔棉纤巧 420mm 8片,5.0,4.0,11,2.0,贵州
4e69e0f487c719ea067a9952cdcaa0c1,小***a,夜用卫生巾首选苏菲350的长度很有安全感一整夜不怕侧漏睡的安心用的放心推荐给大家有活动价格一定要多囤几包,2024-01-28 13:46:06,超熟睡裸感肌 350mm 8片,5.0,2.0,5,2.0,广东
b071977aa0cbef0663bcfcccda86afcd,爱***E,自己一直用这个品牌透气性很好薄厚适中价格也合理是一款物美价廉值得信赖的大众品牌自认为性价比还算比较高值得信赖的产品,2024-01-28 09:20:02,柔棉纤巧 420mm 8片,5.0,4.0,24,2.0,河北
0b58f5e5e56683c1797c56a434992019,j***6,苏菲大品牌质量有保障就认准这个牌子了绵柔材质的很舒适质量很好用着放心很透气赶上活动买很合适送货也快值得购买,2024-02-01 23:31:11,超熟睡裸感肌 350mm 8片,5.0,4.0,4,2.0,北京
a5845d93f9d448426b84787b5aa47031,j***9,一直都用这个品牌还是很喜欢这款卫生巾的好用还不贵赶上京东搞活动更是很优惠很赞每次赶上京东搞活动都会购买一些京东的到货速度也是很快的一般当天下单转天就到货了,2024-02-06 23:29:08,超熟睡柔棉感 350mm 8片,5.0,2.0,1,3.0,天津
df1af82c1f874dac09ad6d85a98b370b,j***9,非常好用的卫生巾安睡一整晚赶上京东搞活动立刻下单购买很赞而且物流也是很快的一般当天下单转天就到货了还是很赞的不错的购物体验,2024-02-06 23:35:55,超熟睡柔棉感 290mm 10片,5.0,2.0,2,3.0,天津
bc7f361fd38f9994abf389eec0ae75ad,y***8,苏菲卫生巾国际大品牌质量非常好非常舒适而且不会侧漏价廉物美物流及时一次很好的购物体验还会再买,2024-02-09 17:32:24,柔棉纤巧 420mm 8片,5.0,4.0,1,2.0,上海
4b5afcd6da160fd3c277508b5df85894,晨***8,宝贝已经收到很满意质量很好包装精细日期很好价格实惠谢谢卖家谢谢物流谢谢快递员赞赞赞,2024-02-06 14:07:26,超熟睡裸感肌 420mm 8片,5.0,4.0,2,3.0,辽宁
de0507d55ff383773c2c326bb6184c85,硕***弟,很喜欢苏菲自从来这个之后一直都是选择苏菲厚款 薄款 日用 夜用 护垫都是用的苏菲在京东下单也特别快下单的第二天就会直接送到门了非常方便,2024-02-03 20:08:44,超熟睡柔棉感 350mm 8片,5.0,4.0,38,2.0,广东
59d6045cb559feebef9ebbaa8ed8391b,h***y,大品牌值得信赖京东物流也很给力服务很贴心服务很贴心非常不错的一次购物体验可以推荐给身边的朋友下次还会一如既往的支持与回购的,2024-02-15 12:50:09,超熟睡柔棉感 350mm 8片,5.0,2.0,1,2.0,新疆