10每周总结
10每周总结
发表时间:23.4.26
这周学会了pyspark大数据计算北京售卖物品时长,代码如下
from pyspark import SparkConf,SparkContext
#Conf Object
import os
import json
os.environ['PYSPARK_PYTHON']="F:/dev/python/python3.10.4/python.exe"
conf=SparkConf().setMaster("local[*]").setAppName("test_spark_app")
sc=SparkContext(conf=conf)
rdd=sc.textFile("F:/orders.txt")
# rdd1=rdd.map(lambda x:x.split("|"))
# print(rdd1.collect())
rdd1=rdd.flatMap(lambda x:x.split("|"))
rdd2=rdd1.map(lambda x:json.loads(x))
# print(rdd2.collect())
rdd3=rdd2.map(lambda x:(x['areaName'],int(x['money'])))
# print(rdd3.collect())
rdd4=rdd3.reduceByKey(lambda x,y:x+y).sortBy(lambda x:x[1],ascending=False,numPartitions=1)
print(rdd4.collect())
# print(rdd3.collect())
rdd5=rdd2.map(lambda x:x['category']).distinct()
print(rdd5.collect())
rdd6=rdd2.filter(lambda x:x['areaName']=='北京').map(lambda x:x['category']).distinct()
print("北京的售卖物品",rdd6.collect())
sc.stop()