Windows 安装配置 PySpark 开发环境(详细步骤+原理分析)

1.Python开发Spark的环境配置详细步骤

1.1 Windows 配置 python 环境变量

这个比较简单,安装原生的 Python 或者 Anaconda 都可以,至于步骤这里就不多说了。

我这里用的Anaconda3,至于Anaconda3的安装配置,有兴趣的话可以参考:这篇blog

在这里插入图片描述

注意:如果使用的是 anaconda 安装的 python环境 并且打算学习 spark1.6 版本的开发,建议安装python3.5.x 版本,这个版本和 spark1.6 兼容

1.2 Windows 配置 spark 环境变量

我这里用的Spark版本 spark-2.3.1-bin-hadoop2.6.tgz

1. 解压并配置SPARK_HOME

在这里插入图片描述
在这里插入图片描述

1.3 Python中安装py4j

在 python 环境中安装 py4j 模块(python 调用 java API 的中间通信模块)

两种方式,我这里用的第(2)种

(1)进入python安装目录\Scripts使用pip install py4j

(2)或者将解压的spark安装包中的D:\spark-2.3.1-bin-hadoop2.6\python\lib\py4j拷贝到D:\ProgramData\Anaconda3\Lib\site-packages中。

在这里插入图片描述

验证py4j是否安装成功:python >>>import py4j回车

在这里插入图片描述

1.4 Python中安装PySpark模块

同样也是那两种方法

(1)使用pip安装pyspark。pip install pyspark 会安装最新的版本的pyspark。

(2)或者,将解压的spark安装包中的D:\spark-2.3.1-bin-hadoop2.6\python\pyspark拷贝到D:\ProgramData\Anaconda3\Lib\site-packages

在这里插入图片描述
验证pyspark模块是否安装成功

在这里插入图片描述
如果启动遇到下面错误: ERROR Shell:396 - Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
在这里插入图片描述
说明你的电脑没有配置 hadoop ,解决办法可以参考:这篇博客

WordCount 测试环境是否配置成功

先来个WordCount试试(我这里用的 PyCharm)

(1)新建一个 txt 文件

在这里插入图片描述
(2)运行下面示例代码

#coding:utf-8
from pyspark import SparkConf
from pyspark import SparkContext
if __name__ == '__main__':
    conf=SparkConf()
    conf=conf.setAppName("wordcount").setMaster("local")
    sc=SparkContext(conf=conf)
    lines=sc.textFile("word.txt",2)
    print("lines rdd partition length = %d"%(lines.getNumPartitions()))
    result=lines.flatMap(lambda line:line.split(" ")).map(lambda word:(word,1)).reduceByKey(lambda v1,v2:v1+v2,3)
    print("result rdd partition length = %d"%(lines.getNumPartitions()))
    result.foreach(lambda x:print(x))
    result.saveAsTextFile("result")

运行结果如下:
在这里插入图片描述
说明配置的完全没毛病。

2. Python 开发 Spark原理

使用 python api 编写 pyspark 代码提交运行时,为了不破坏 spark 原有的运行架构,会将写好的代码首先在 python 解析器中运行(cpython),Spark 代码归根结底是运行在 JVM 中的,这里 python 借助 Py4j 实现 Python 和 Java 的交互,即通过 Py4j 将 pyspark 代码“解析”到 JVM 中去运行。例如,在 pyspark 代码中实例化一个 SparkContext 对象,那么通过 py4j 最终在 JVM 中会创建 scala 的 SparkContext 对象及后期对象的调用、在 JVM 中数据处理消息的日志会返回到 python 进程中、如果在代码中会回收大量结果数据到 Driver 端中,也会通过 socket 通信返回到 python 进程中。这样在python进程和JVM进程之间就有大量通信。

在这里插入图片描述

python开发spark,需要进行大量的进程间的通信,如果通信量过大,会出现“socket write error”错误。因此,应尽量少使用回收数据类算子,也可以调节回收日志的级别,降低进程之间的通信。

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是更加详细的 PySpark 安装步骤: 1. 安装 Java 运行时环境和 Scala。可以在命令行中输入以下命令来检查是否已经安装了 Java 和 Scala: ```bash java -version scala -version ``` 如果未安装,则可以从官方网站下载并安装它们。 2. 下载 Spark。可以从官网下载 Spark 的二进制发行版,选择与你的系统和 Spark 版本相对应的发行版。下载完成后,将其解压缩到你想要安装的目录中。 3. 安装 Python。建议使用 Anaconda 安装 Python,这样可以方便地管理 Python 环境和依赖库。 4. 安装 Py4J 库。可以使用 pip 命令来安装: ```bash pip install py4j ``` 5. 配置环境变量。需要将 Spark 的 bin 目录和 Python 的 bin 目录加入 PATH 环境变量中。假设 Spark 解压缩后的目录为 `/usr/local/spark`,Python 安装在 `/usr/local/anaconda3`,则可以在命令行中输入以下命令来配置环境变量: ```bash export PATH=$PATH:/usr/local/spark/bin:/usr/local/anaconda3/bin ``` 为了让上述命令在每次启动终端时自动执行,可以将其添加到 `~/.bashrc` 或 `~/.bash_profile` 文件中。 6. 启动 PySpark Shell。在命令行中输入以下命令即可启动 PySpark Shell: ```bash pyspark ``` 如果一切正常,你应该可以看到类似以下的输出: ``` Python 3.7.7 (default, May 7 2020, 21:25:33) [GCC 7.3.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /__ / .__/\_,_/_/ /_/\_\ version 2.4.5 /_/ Using Python version 3.7.7 (default, May 7 2020 21:25:33) SparkSession available as 'spark'. ``` 现在,你已经成功安装PySpark,并且可以使用它来进行大数据处理和分析了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值