一、PySpark基础环境配置
1. 安装PySpark和Py4J
sudo pip install pyspark==2.4.8 py4j==0.10.7
-
pyspark
:指定版本与Spark环境一致 -
py4j
:Python与Java互操作的桥梁库
2. 验证安装
进入Python交互环境测试:
cd ~
python # 或 python3.6
测试代码:
from pyspark import SparkContext
sc = SparkContext('local[1]', 'pyspark lib')
rdd = sc.parallelize([1,2,3,4,5])
print(rdd.collect()) # 输出 [1, 2, 3, 4, 5]
二、Jupyter Notebook环境配置
1. 安装Jupyter Notebook
cd ~
sudo pip install jupyter==1.0.0
2. 安装findspark(关键步骤)
sudo pip install findspark
3. 启动Jupyter Notebook
cd ~
jupyter notebook
启动后浏览器会自动打开http://localhost:8888
4. Jupyter中使用PySpark
在Notebook中首次使用需初始化:
import findspark
findspark.init() # 只需执行一次
from pyspark import SparkContext
sc = SparkContext('local[1]', 'pyspark lib')
rdd = sc.parallelize(range(1,6))
print(rdd.collect()) # 输出 [1, 2, 3, 4, 5]
三、PyCharm专业开发环境
1. 安装PyCharm社区版
cd /usr/local
sudo tar -zxf ~/soft/pycharm-community-2022.3.1.tar.gz
cd pycharm-community-2022.3.1/bin/
./pycharm.sh
2. 创建PySpark项目
-
新建项目时选择Python 3.6解释器
-
创建
main.py
文件
3. PyCharm中PySpark代码示例
from pyspark import SparkContext
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.master("local[1]") \
.appName('SparkExample') \
.getOrCreate()
sc = spark.sparkContext
rdd = sc.parallelize(range(1,5))
print(rdd.collect()) # 输出 [1, 2, 3, 4]
注意:PyCharm中必须使用
print()
函数输出结果
4. 运行项目
右键点击代码选择Run 'main'
执行程序
四、三种开发环境对比
环境 | 特点 | 适用场景 |
---|---|---|
Python交互式 | 即时反馈,简单测试 | 快速验证代码片段 |
Jupyter Notebook | 交互式+文档记录 | 数据分析、教学演示 |
PyCharm | 完整IDE功能 | 项目开发、团队协作 |
五、常见问题解决
-
版本冲突:确保PySpark版本与Spark集群版本一致
-
findspark初始化失败:检查Python环境是否匹配
-
PyCharm执行报错:确认已正确配置Python解释器路径