2024/2/12学习进度笔记
spark rdd持久化
from pyspark import SparkContext, SparkConf import os import re from pyspark.storagelevel import StorageLevel os.environ['SPARK_HOME'] = '/export/server/spark' PYSPARK_PYTHON = "/root/anaconda3/envs/pyspark_env/bin/python" # 当存在多个版本时,不指定很可能会导致出错 os.environ["PYSPARK_PYTHON"] = PYSPARK_PYTHON os.environ["PYSPARK_DRIVER_PYTHON"] = PYSPARK_PYTHON if __name__ == '__main__': print('PySpark RDD Program') # TODO:1、创建应用程序入口SparkContext实例对象 conf = SparkConf().setAppName("miniProject").setMaster("local[*]") sc = SparkContext.getOrCreate(conf) # TODO: 2、从文件系统加载数据,创建RDD数据集 # TODO: 3、调用集合RDD中函数处理分析数据 fileRDD = sc.textFile("file:///export/pyfolder1/pyspark-chapter02_3.8/data/word.txt") # 缓存RDD fileRDD.cache() fileRDD.persist() # 使用Action触发缓存操作 print("fileRDD count:", fileRDD.count()) # 释放缓存 fileRDD.unpersist() # 数据的相关操作 resultRDD2 = fileRDD.flatMap(lambda line: re.split("\s+", line)) \ .map(lambda x: (x, 1)) \ .reduceByKey(lambda a, b: a + b) print('停止 PySpark SparkSession 对象') # 关闭SparkContext sc.stop()
浙公网安备 33010602011771号