filter方法
"""
filter方法
功能:过滤想要的数据,其余进行保留
func:(T):bool
返回是True的数据被保留,False的数据被丢弃
"""
# coding:utf8
from pyspark import SparkConf, SparkContext
import os
os.environ['PYSPARK_PYTHON'] = 'D:\Python3.9\python.exe' # 通过os设置环境变量
if __name__ == '__main__':
# 构建Spark执行环境
conf = SparkConf().setMaster("local[*]").setAppName("create_rdd")
sc = SparkContext(conf=conf)
rdd = sc.parallelize([1, 2, 3, 4, 5, 6])
# 保留奇数
print(rdd.filter(lambda x: x % 2 == 1).collect())
distinct方法
"""
distinct方法
功能:对RDD数据进行去重,返回新的RDD
无需传参
"""
from pyspark import SparkConf, SparkContext
import os
os.environ['PYSPARK_PYTHON'] = 'D:\Python3.9\python.exe' # 通过os设置环境变量
if __name__ == '__main__':
# 构建Spark执行环境
conf = SparkConf().setMaster("local[*]").setAppName("create_rdd")
sc = SparkContext(conf=conf)
rdd = sc.parallelize([1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 7])
print(rdd.distinct().collect())
sortBy方法
"""
sortBy算子
功能:对RDD数据进行排序,基于你指定的排序依据
语法:rdd.sortBy(func, ascending=False, numPartitions=1)
func:(T)->U:告知按照rdd中的哪个数据进行排序,比如lambda x:x[1] 表示按照rdd中的第二列元素进行排序
ascending True升序 False降序
numPartitions:用多少分区排序
"""
练习案例