02词频统计

from pyspark import SparkContext
from pyspark import SparkConf

# 创建Spark对应此应用程序的配置;必须要设置setAppName名称(可随意写),没有则报错;
# 必须要设置运行模式,local{*] 是我们的本地测试用的模式,zhilocal[*]代表所有可用的线程并行执行,
# local等价于local[1]
conf = SparkConf().setAppName("suiyi").setMaster("local")

# 创建spark上下文环境,接受的参数通常为SparkConf
sc = SparkContext(conf=conf)

# 此时这个list列表数据是在python解释器中
data = ["i love zhe", "i love na", "i love sha"]

# 把上面的list列表并行变成了RDD(弹性分布式数据集)
# RDD就分布式存在spark集群的内存中啦!
rdd = sc.parallelize(data)    # parallelize可以并行数据

# flatMap = flat(扁平化,把集合中的元素拿出来) + Map()
# 先执行map操作,再执行flat操作
words = rdd.flatMap(lambda sen: sen.split())

# map操作是对集合也就是RDD里面的每个元素进行操作
pairs = words.map(lambda word: (word, 1))

# reduceByKey = reduce(按匿名函数逻辑把集合进行聚合运算) + groupByKey(按键来分组)
# 先执行groupByKey,再执行reduce
result = pairs.reduceByKey(lambda a, b: a + b).collect()
# collect是把结果从spark端拉取回来到python解释器端

print(result)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hao难懂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值