复习整理2

1.wordCount

from pyspark import SparkConf, SparkContext

import os

os.environ['PYSPARK_PYTHON'] = r'D:\Tools\Anaconda3\envs\pyspark\python.exe'
if __name__ == '__main__':
    conf = SparkConf().setAppName("test").setMaster("local[*]")
    sc = SparkContext(conf=conf)

    rdd = sc.textFile("../data/words.txt")
    rdd2 = rdd.flatMap(lambda x: x.split(" "))
    rdd3 = rdd2.map(lambda x : (x,1))
    rdd4 = rdd3.reduceByKey(lambda a, b: a+b)

    print(rdd4.collect())

 运行结果:

 2.案例

 

# coding:utf8
from pyspark import SparkConf, SparkContext
import os

os.environ['PYSPARK_PYTHON'] = r'D:\Tools\Anaconda3\envs\pyspark\python.exe'
import json
if __name__ == '__main__':
    conf = SparkConf().setAppName("kaoshi").setMaster("local[*]")
    sc = SparkContext(conf=conf)
    rdd1 = sc.textFile("../data/input/order.txt")
    rdd2 = rdd1.flatMap(lambda x: x.split("|"))# 按|符号分离每一条数据
    rdd3 = rdd2.map(lambda x: json.loads(x))# 使用 json 库将数据转为字典类型
    rdd4 = rdd3.filter(lambda x: x['areaName'] == '北京') # 过滤出只要北京的数据
    rdd5 = rdd4.map(lambda x: x["category"])# 只要北京地区销售的商品类型
    rdd6 = rdd5.distinct()# 去重
    result = rdd6.collect() # 使用行动算子聚合得到结果
    print("北京: ", result)# 打印结果
# 北京: ['平板电脑', '家电', '书籍', '手机', '电脑', '家具', '食品', '服饰

运行结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值