启动Spark shell
打开命令行或终端——pyspark
import pyspark
导入pyspark
查看spark context信息
读入文件:
打印文件内容
可利用collect()函数,它能够以数组的形式,返回RDD数据集的所有元素
lines = spark.read.text(‘file:///home/wordcound.txt’).rdd
for i in lines.collect():
print(i)
处理文件:
lines存储的是Row object类型
将其中的String取出,利用map api进一步转换RDD
lines_map = lines.map(lambda x: x[0])
for i in lines_map.collect():
print(i)
统计词频
为了统计每个单词的出现频率,需要对每个单词分别统计
第一步需要将字符串以空格作为分隔符将单词提取出来
第二步是为每个词设置一个计数器
flat_map = lines_map.flatMap(lambda x: x.split(’ '))
rdd_map = flat_map.map(lambda x: [x, 1])
for i in rdd_map.collect():
print(i)
将每个词视作为一个key,相同的key对应的值相加,统计每个词出现的次数
第三部对rdd_map的中的元素执行相加“add”操作得出词频
from operator import add
add_map = rdd_map.reduceByKey(add)
for i in add_map.collect():
print(i)