【Python】PySpark 数据处理 ② ( 安装 PySpark | PySpark 数据处理步骤 | 构建 PySpark 执行环境入口对象 )





一、安装 PySpark




1、使用 pip 安装 PySpark


执行 Windows + R , 运行 cmd 命令行提示符 ,

在这里插入图片描述

在命令行提示符终端中 , 执行

pip install pyspark

命令 , 安装 PySpark , 安装过程中 , 需要下载 310 M 的安装包 , 耐心等待 ;

在这里插入图片描述

安装完毕 :

在这里插入图片描述

命令行输出 :

C:\Users\octop>pip install pyspark
Collecting pyspark
  Downloading pyspark-3.4.1.tar.gz (310.8 MB)
     |████████████████████████████████| 310.8 MB 126 kB/s
Collecting py4j==0.10.9.7
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))': /packages/10/30/a58b32568f1623aaad7db22aa9eafc4c6c194b429ff35bdc55ca2726da47/py4j-0.10.9.7-py2.py3-none-any.whl
  Downloading py4j-0.10.9.7-py2.py3-none-any.whl (200 kB)
     |████████████████████████████████| 200 kB 1.1 MB/s
Using legacy setup.py install for pyspark, since package 'wheel' is not installed.
Installing collected packages: py4j, pyspark
    Running setup.py install for pyspark ... done
Successfully installed py4j-0.10.9.7 pyspark-3.4.1
WARNING: You are using pip version 20.1.1; however, version 23.2.1 is available.
You should consider upgrading via the 'y:\001_developtools\015_python\python37\python.exe -m pip install --upgrade pip' command.

C:\Users\octop>

2、国内代理镜像


如果使用 官方的源 下载安装 PySpark 的速度太慢 ,

可以使用 国内的 镜像网站 https://pypi.tuna.tsinghua.edu.cn/simple/ ,

这是清华大学提供的源 ;

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark

3、PyCharm 中安装 PySpark


也可以参考 【Python】pyecharts 模块 ② ( 命令行安装 pyecharts 模块 | PyCharm 安装 pyecharts 模块 ) 博客 , 在 PyCharm 中 , 安装 PySpark ;

尝试导入 pyspack 模块中的类 , 如果报错 , 使用报错修复选项 , PyCharm 会自动安装 PySpark ;

在这里插入图片描述





二、PySpark 数据处理步骤



PySpark 编程时 , 先要构建一个 PySpark 执行环境入口对象 , 然后开始执行数据处理操作 ;

数据处理的步骤如下 :

首先 , 要进行数据输入 , 需要读取要处理的原始数据 , 一般通过 SparkContext 执行环境入口对象 执行 数据读取操作 , 读取后得到 RDD 类实例对象 ;

然后 , 进行 数据处理计算 , 对 RDD 类实例对象 成员方法进行各种计算处理 ;

最后 , 输出 处理后的结果 , RDD 对象处理完毕后 , 写出文件 , 或者存储到内存中 ;

在这里插入图片描述


数据的初始形态 , 一般是 JSON 文件 , 文本文件 , 数据库文件 ;

通过 SparkContext 读取 原始文件 到 RDD 中 , 进行数据处理 ;

数据处理完毕后 , 存储到 内存 / 磁盘 / 数据库 中 ;

在这里插入图片描述





三、构建 PySpark 执行环境入口对象



如果想要使用 PySpark 进行数据处理 , 必须构建一个 PySpark 执行环境入口对象 ;

PySpark 执行环境 入口对象 是 SparkContext 类实例对象 ;


首先 , 导入相关包 ;

# 导入 PySpark 相关包
from pyspark import SparkConf, SparkContext

然后 , 创建 SparkConf 实例对象 , 该对象用于配置 Spark 任务 , 各种配置可以在链式调用中设置 ;

  • 调用 SparkConf#setMaster 函数 , 可以设置运行模式 , 单机模式 / 集群模式 ;
  • 调用 SparkConf#setAppName函数 , 可以设置 Spark 程序 名字 ;
# 创建 SparkConf 实例对象 , 该对象用于配置 Spark 任务
# setMaster("local[*]") 表示在单机模式下 本机运行
# setAppName("hello_spark") 是给 Spark 程序起一个名字
sparkConf = SparkConf()\
    .setMaster("local[*]")\
    .setAppName("hello_spark")

再后 , 创建 PySpark 执行环境 入口对象 ;

# 创建 PySpark 执行环境 入口对象
sparkContext = SparkContext(conf=sparkConf)

最后 , 执行完 数据处理 任务后 , 调用 SparkContext#stop 方法 , 停止 Spark 程序 ;

# 停止 PySpark 程序
sparkContext.stop()




四、代码示例



代码示例 :

"""
PySpark 数据处理
"""

# 导入 PySpark 相关包
from pyspark import SparkConf, SparkContext

# 创建 SparkConf 实例对象 , 该对象用于配置 Spark 任务
# setMaster("local[*]") 表示在单机模式下 本机运行
# setAppName("hello_spark") 是给 Spark 程序起一个名字
sparkConf = SparkConf()\
    .setMaster("local[*]")\
    .setAppName("hello_spark")

# 创建 PySpark 执行环境 入口对象
sparkContext = SparkContext(conf=sparkConf)

# 打印 PySpark 版本号
print(sparkContext.version)

# 停止 PySpark 程序
sparkContext.stop()

执行结果 :

Y:\002_WorkSpace\PycharmProjects\pythonProject\venv\Scripts\python.exe Y:/002_WorkSpace/PycharmProjects/HelloPython/hello.py
23/07/29 23:08:04 WARN Shell: Did not find winutils.exe: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
23/07/29 23:08:04 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
3.4.1

Process finished with exit code 0

在这里插入图片描述

<think>好的,我需要帮助用户了解如何安装和使用PySpark。首先,根据用户提供的引用内容,我需要整理出安装步骤。用户提到了Windows下的安装教程,包括JDK、Scala、Spark、Hadoop和PySpark安装,还有单机模式的教程。同时,引用中提到了环境变量配置的问题,比如JAVA_HOME设置错误,还有创建软连接的步骤。此外,用户还提到PySpark适合初学者,但性能可能不如Spark-Scala。 首先,我需要分步骤说明安装过程。可能的结构是:环境准备(JDK、Scala、Hadoop、Spark)、PySpark安装环境变量配置、验证安装。然后,使用部分需要包括启动PySpark和示例代码。可能还需要注意事项,比如Windows下的常见错误,如JAVA_HOME的问题,参考引用4中的链接。同时,要提到性能方面的考虑,引用3中的内容,指出PySpark适合学习但性能可能不足的地方。 需要确保所有命令行操作正确,路径正确,比如解压目录和软连接创建。还要注意用户可能遇到的错误,比如JAVA_HOME配置错误,如何解决。示例代码部分需要简单明了,比如读取文件、RDD操作,这样用户可以快速上手。最后,相关问题部分需要根据安装和使用步骤生成,可能涉及环境配置、验证方法、优缺点比较等。 需要检查引用是否正确对应,比如引用1和引用2涉及安装步骤,引用4处理错误,引用3讨论性能。确保每个引用只在相关的地方提及,比如在注意事项里提到性能问题引用3,解决JAVA_HOME问题时引用4。同时,所有代码块和环境变量设置要准确,避免用户操作时出错。最后,用中文自然表达,避免技术术语过于复杂,适合初学者理解。</think>### PySpark 安装与使用教程 #### 一、环境准备 1. **JDK安装** - 下载JDK 8+并安装(推荐Oracle JDK或OpenJDK) - 配置环境变量: ```bash JAVA_HOME = D:\SoftWare\jdk1.8.0_291 # 根据实际路径修改 PATH = %JAVA_HOME%\bin ``` - 验证:`java -version`[^4] 2. **Scala安装** - 下载Scala 2.12.x版本(需与Spark版本兼容) - 配置环境变量: ```bash SCALA_HOME = D:\SoftWare\scala-2.12.15 # 根据实际路径修改 PATH = %SCALA_HOME%\bin ``` - 验证:`scala -version` 3. **Hadoop工具包(Windows必需)** - 下载`winutils.exe`(版本需与Hadoop兼容,例如Hadoop 2.6.0对应winutils 2.6.0) - 将文件放入`%HADOOP_HOME%\bin`目录,并配置环境变量: ```bash HADOOP_HOME = D:\SoftWare\hadoop-2.6.0 PATH = %HADOOP_HOME%\bin ``` 4. **Spark安装** - 下载Spark(版本需与PySpark兼容,如Spark 3.1.2) - 解压至目录(如`D:\SoftWare\spark-3.1.2`) - 配置环境变量: ```bash SPARK_HOME = D:\SoftWare\spark-3.1.2 PATH = %SPARK_HOME%\bin ``` #### PySpark安装 1. **通过pip安装** ```bash pip install pyspark ``` - 若需指定版本:`pip install pyspark==3.1.2` 2. **软连接配置(Linux可选)** ```bash ln -s /opt/installs/anaconda3/bin/python3 /usr/bin/python3 # 确保PySpark调用正确Python解释器[^2] ``` #### 三、验证安装 1. **启动PySpark Shell** ```bash pyspark ``` - 成功进入交互式界面表示安装完成(输出Spark版本和Python版本)[^3] 2. **运行示例代码** ```python from pyspark.sql import SparkSession spark = SparkSession.builder.appName("test").getOrCreate() data = spark.read.text("README.md") # 读取Spark目录下的文件 data.show() ``` #### 四、注意事项 1. **Windows常见错误** - 若报错`JAVA_HOME is incorrectly set`,检查JDK路径是否含空格或特殊字符 - 若缺少`winutils.exe`,需手动下载并配置到Hadoop的`bin`目录[^4] 2. **性能限制** PySpark适合学习RDD操作和Spark机制,但在大规模集群任务中,UDF性能可能弱于Spark-Scala[^3]。 ---
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值