PySpark
什么是PySpark?
-
Spark是Apache基金会旗下的顶级开源项目,用于对海量数据进行大规模分布式计算。
-
PySpark是Spark的Python实现,是Spark为Python开发者提供的编程入口,用于以Python代码完成Spark任务的开发
-
PySpark不仅可以作为Python第三方库使用,也可以将程序提交的Spark集群环境中,调度大规模集群进行执行。
PySpark库的安装
同其它的Python第三方库一样,PySpark同样可以使用pip程序进行安装。
pip install pyspark
在”CMD”命令提示符程序内,输入
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark
构建PySpark执行环境入口对象
from pyspark import SparkConf, SparkContext
#创建一个sparkconf类对象
conf = SparkConf().setMaster("local[*]").setAppName("test_spark_app")
#基于sparkconf类对象创建sparkcontext类对象
sc = SparkContext(conf=conf)
#打印pyspark的运行版本
print(sc.version)
#停止sparkcontext对象的运行
sc.stop()
PySpark的编程模型
SparkContext类对象,是PySpark编程中一切功能的入口。
PySpark的编程,主要分为如下三大步骤:
-
数据输入:通过SparkContext完成数据读取
-
数据计算:读取到的数据转换为RDD对象,调用RDD的成员方法完成计算
-
数据输出:调用RDD的数据输出相关成员方法,将结果输出到list、元组、字典、文本文件、数据库等
RDD对象
PySpark支持多种数据的输入,在输入完成后,都会得到一个:RDD类的对象
RDD全称为:弹性分布式数据集(Resilient Distributed Datasets)
PySpark针对数据的处理,都是以RDD对象作为载体,即:
-
数据存储在RDD内
-
各类数据的计算方法,也都是RDD的成员方法
-
RDD的数据计算方法,返回值依旧是RDD对象