环境配置|windows中pyspark的配置


Windows 中pyspark的配置

  • 1. Windows 安装配置 PySpark 开发环境(详细步骤+原理分析)
  • 2. Windows系统下解压".tar"文件出错,提示:无法创建符号链接,可能需要以管理器身份运行winrar,参考:
  • 3.java环境不能有空格
  • 4. windows环境下paspark开发环境报错
  • 5. spark报错:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
  • 6. spark报错:WARN util.Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.4042等错误
  • 7.Python版本与spark版本不一致,报错Exception: Python in worker has different version 3.10 than that in driver 3.7
  • 8. Spark编程笔记(4)-RDD数据读写

1. Windows 安装配置 PySpark 开发环境(详细步骤+原理分析) https://cloud.tencent.com/developer/article/1701582
使用 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进程之间就有大量通信。
①Windows 配置 python 环境变量
②Windows 配置 spark 环境变量
③python 环境中安装 py4j 模块(python 调用 java API 的中间通信模块)
进入python安装目录\Scripts使用pip install py4j
验证py4j是否安装成功:python >>>import py4j回车
④安装PySpark模块
使用pip安装pyspark。pip install pyspark 会安装最新的版本的pyspark。
⑤pyspark验证
⑥WordCount 测试环境是否配置成功
2. Windows系统下解压".tar"文件出错,提示:无法创建符号链接,可能需要以管理器身份运行winrar,参考: https://blog.csdn.net/ruangaoyan/article/details/100154959?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=2
环境配置|windows中pyspark的配置
文章图片

原因:用户管理员权限(必须管理权权限,否则无效)
通过命令行解决:以管理员身份运行cmd,进入待解压文件目录下
start winrar x -y hadoop-3.2.3.tar
3.java环境不能有空格 ①参考:https://blog.csdn.net/u012175183/article/details/117730692
添加D:\Program Files的链接D:\ProgramFiles
mklink/J D:\ProgramFiles “D:\Program Files”
// 快捷方式路径 原路径
//路径名有空格时需要加双引号 “有空格 的路径”
②参考:https://blog.csdn.net/qq_35535690/article/details/81976032
使用编辑器打开E:\Hadoop2.7.7\hadoop-2.7.7\etc\hadoop\hadoop-env.cmd
修改JAVA_HOME的路径
把set JAVA_HOME改为jdk的位置
环境配置|windows中pyspark的配置
文章图片

4. windows环境下paspark开发环境报错 https://blog.csdn.net/weixin_44285445/article/details/108710043
①下载所安装的 Spark 版本对应的 Hadoop 版本的压缩包
②参考https://zhuanlan.zhihu.com/p/346219061
[问题解决篇-32] hadoop 各个版本的hadoop.dll 下载路径
C:\Windows\System32下缺少hadoop.dll,把这个文件拷贝到C:\Windows\System32下面即可。
在https://github.com/cdarlint/winutils下载对应的hadoop.dll和winutils.ex文件
环境配置|windows中pyspark的配置
文章图片

③将hadoop-2.6.5\bin 下hadoop.dll 文件winutils.exe 文件拷贝到 C:\Windows\System32④配置hadoop环境,修改path变量
HADOOP_HOME:D:\Programs\hadoop-3.2.3
%HADOOP_HOME%\bin
⑤测试 hadoop version和spark
环境配置|windows中pyspark的配置
文章图片

5. spark报错:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 参考:https://blog.csdn.net/dkl12/article/details/118767618
6. spark报错:WARN util.Utils: Service ‘SparkUI’ could not bind on port 4040. Attempting port 4041.4042等错误 参考:https://www.cnblogs.com/angelasp/p/13274455.html
解决:关闭进程端口
7.Python版本与spark版本不一致,报错Exception: Python in worker has different version 3.10 than that in driver 3.7 参考:https://blog.csdn.net/lyw5200/article/details/111316602
8. Spark编程笔记(4)-RDD数据读写 【环境配置|windows中pyspark的配置】参考:https://zhuanlan.zhihu.com/p/103024687

    推荐阅读