python语法-pyspark实战(数据计算-2)

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:用多少分区排序
"""

练习案例

参考内容:
python语法-pyspark实战(基础知识)
python语法-pyspark实战(数据输入)

猜你喜欢

转载自blog.csdn.net/qq_45833373/article/details/131312455