功能:对于RDD数据进行排序,可以指定排序依据
rdd.sortBy(func, ascending=False,ascending= 1)
①func:表示对哪些数据进行排序
②ascending=Ture:表示升序。Flase表示降序
③ascending:用多少分区进行排序
from pyspark import SparkConf , SparkContext
import os
os.environ['PYSPARK_PYTHON'] = "D://python3.8/python.exe" #pyspark在python的解释器在哪
conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
sc = SparkContext(conf = conf)
#读取文件
rdd = sc.textFile("D:/test.txt")
#取出全部单词
wprd_rdd = rdd.flatMap(lambda x: x.split(" "))
#将数据转换为二元元组
word_with_one = wprd_rdd.map(lambda word: (word ,1))
#分组并求和
result = word_with_one.reduceByKey(lambda a,b: a+b)
#对结果集进行排序
#依据是二元元组的标号
final = result.sortBy(lambda x: x[1] ,ascending=False,numPartitions=1)
print(final.collect())