1、rdd实现wordcount
rdd调用flatMap方法将rdd中每一个元素按空格分割并铺平,再通过map方法组成元组,最后通过reduceByKey进行词频统计,需要注意的是flatMap方法是先执行map方法在执行flat方法,代码如下:
rdd = sc.textFile("hdfs://spark1:9000/user/root/wordcount.txt")
rdd1 = rdd.flatMap(lambda x: x.split(" "))\
.map(lambda x: (x, 1))\
.reduceByKey(lambda a, b : a + b)\
.sortBy(lambda x: x[1], ascending=False)
print(rdd1.collect())