Spark RDD的词频统计

1. 完整实现流程
# 1. 读取文本文件
rdd1 = sc.textFile('file:///usr/local/spark/licenses/LICENSE-py4j.txt')

# 2. 拆分单词(flatMap展平)
rdd2 = rdd1.flatMap(lambda x: x.split(' '))

# 3. 映射为键值对(map转换)
rdd3 = rdd2.map(lambda x: (x, 1))

# 4. 按单词聚合计数(reduceByKey聚合)
rdd4 = rdd3.reduceByKey(lambda a,b: a+b)

# 5. 收集结果(action操作)
result = rdd4.collect()
for word, count in result:
    print(f"{word}: {count}")

2. 数据处理流程解析
textFile:从文件系统创建RDD,每行文本作为一个元素

flatMap:将每行文本拆分为单词并展平

map:将每个单词转换为(word, 1)的键值对

reduceByKey:对相同单词的计数进行累加

collect:触发计算并收集结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值