目录
一、安装PySpark:
1. 使用pip
执行Windows + R ,运行cmd命令行提示符:
直接使用清华提供的镜像源安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark
2. 使用PyCharm安装
如图找到PyCharm解释器设置, 点击加号搜索PySpark点击安装即可。
这里依然可以使用镜像源进行安装 (在选项中输入安装地址即可)。
二、简单步骤:
在进行PySpark编程时,首先要构建一个PySpark入口类对象SparkContext。在开始使用PySpark之前,需要初始化Spark环境,创建一个SparkContext对象。SparkContext是Spark的入口点,负责与Spark集群进行通信,并且可以设置应用程序的各种配置。
PySpark提供了两种主要的编程抽象:RDD(弹性分布式数据集)和DataFrame/Dataset。
RDD:是PySpark中最基本的数据抽象,代表一个不可变的、可并行操作的元素集合。DataFrame/Dataset:是Spark 1.3中引入的,建立在RDD之上的一个高级抽象,提供了以列为中心的数据模型,类似于RDBMS中的表或Python的pandas库中的DataFrame。
在创建了RDD或DataFrame之后,就可以对数据进行操作了。Transformations:转换操作是懒惰的,意味着它们不会立即执行,而是在调用action时才会执行。常见的转换操作有
map()
,filter()
,flatMap()
,reduceByKey()
,groupByKey()
等。Actions:动作操作是触发实际计算的操作,它们会返回结果或保存数据到外部存储系统。常见的动作操作有
count()
,collect()
,saveAsTextFile()
,reduce()
,foreach()
等。完成这些操作后,不要忘记关闭SparkContext。
三、构建PySpark执行环境入口:
初始化环境,导入包
from pyspark import SparkContext, SparkConf
# 配置Spark
conf = SparkConf().setAppName("MyApp").setMaster("local[2]") # appName是应用程序的名称,master是Spark运行的模式
sc = SparkContext(conf=conf)
创建RDDs或DataFrame/Dataset
# 从一个列表创建RDD
data = [1, 2, 3, 4, 5]
rdd = sc.parallelize(data)
from pyspark.sql import SparkSession
# 创建SparkSession
spark = SparkSession.builder.appName("MyApp").getOrCreate()
# 从JSON文件创建DataFrame
df = spark.read.json("path_to_json_file.json")
执行 transformations 和 actions
# RDD的转换操作
rdd_squared = rdd.map(lambda x: x * x)
# DataFrame的转换操作
df_filtered = df.filter(df["age"] > 20)
# RDD的动作操作
squared_values = rdd_squared.collect()
# DataFrame的动作操作
df_filtered.show()
最后关闭SparkContext
sc.stop()
四、代码示例(RDD):
from pyspark import SparkContext, SparkConf
# 配置Spark
conf = SparkConf().setAppName("MyApp").setMaster("local[2]") # appName是应用程序的名称,master是Spark运行的模式
sc = SparkContext(conf=conf)
# 从一个列表创建RDD
data = [1, 2, 3, 4, 5]
rdd = sc.parallelize(data)
# RDD的转换操作
rdd_squared = rdd.map(lambda x: x * x)
# RDD的动作操作
squared_values = rdd_squared.collect()
sc.stop()