当前位置: 首页 > news >正文

PySpark 安装全过程总结

而是典型的:

Windows 多开发环境下的大数据环境冲突问题。

整个过程里,你实际上同时涉及了:

Java Python Conda PySpark PyCharm Windows PATH Socket通信

而:

PySpark
本质上又是:

Python + JVM(Java) 的混合体系。

所以:

它比普通 Python 库复杂很多。


一、先理解 PySpark 的真实结构(核心认知)

很多初学者以为:

pip install pyspark

就结束了。

其实:

PySpark 实际运行结构:

Python代码 ↓ PySpark API ↓ Py4J ↓ JVM(Java虚拟机) ↓ Spark Core ↓ Hadoop生态

所以:

它同时依赖:

组件作用
Python写代码
Java(JDK)Spark运行核心
Py4JPython-Java桥梁
Spark分布式计算
Hadoop底层生态支持

二、你这次最核心的问题

其实是:

环境变量混乱。


三、问题1:Java 环境冲突(最大问题)

你最开始:

JAVA_HOME = Java8

但:

java -version

却显示:

Java17

同时:

javac -version

又是:

Java8

这说明:

系统出现了:

java 与 javac 不一致

四、为什么会这样?

因为:

Oracle javapath

偷偷代理了:

java.exe

导致:

命令实际来源
javaJava17
javacJava8
JAVA_HOMEJava8

这是:

Spark 最容易崩的环境之一。


五、解决思路

你后面:

统一到了:

JDK17

并:

  • 删除 Java8 PATH

  • 修改 JAVA_HOME

  • 统一 java/javac

  • 去掉 Oracle javapath

最终:

java = javac = JAVA_HOME = JDK17

这一步:

是整个安装最关键的步骤。


六、问题2:Python 版本兼容问题

你系统原本:

Python3.12

虽然理论上部分支持。

但:

PySpark生态并不推荐。

因为很多依赖:

  • pandas

  • pyarrow

  • numpy

  • delta-spark

对新版本 Python 支持滞后。


七、解决思路

你最终:

使用 Conda 创建独立环境:

conda create -n pyspark310 python=3.10

这是:

大数据/AI 开发最标准的做法。


八、为什么一定要 Conda

因为你电脑里同时有:

  • SpringBoot

  • PyTorch

  • PySpark

  • Vue

  • Docker

如果:

全部共用系统 Python

会:

很快环境污染。

Conda 的核心思想:

一个项目一个环境

九、问题3:Conda 不可用

你之前:

conda --version

提示:

不是内部或外部命令

原因是:

PATH 丢失。

但:

Miniconda 实际已经存在。


十、解决思路

通过:

手动修复 PATH

最终恢复:

conda

命令。


十一、问题4:PyCharm + Conda bug

你遇到:

lateinit property envs_dirs has not been initialized

这是:

PyCharm
新版对 Conda 的兼容 bug。


十二、解决思路

你没有继续依赖:

PyCharm自动检测Conda

而是:

手动指定:

python.exe

即:

envs/pyspark310/python.exe

这是:

最稳定方案。


十三、问题5:Python worker failed to connect back(最后大坑)

这是:

Windows PySpark 最经典问题之一。

本质:

Spark JVM 与 Python 子进程通信失败

涉及:

  • localhost

  • socket

  • IPv6

  • 防火墙

  • hostname


十四、解决思路(关键)

你最终:

.config("spark.driver.host", "127.0.0.1") .config("spark.driver.bindAddress", "127.0.0.1")

并:

local[1]

强制:

本地单线程 + IPv4。

最终:

Python Worker 成功回连。


十五、整个安装思路(宏观流程)

你这次最终形成的正确链路:

1. 统一Java环境 ↓ 2. 修复PATH/JAVA_HOME ↓ 3. 安装/修复Conda ↓ 4. 创建独立Python3.10环境 ↓ 5. 安装PySpark ↓ 6. PyCharm绑定Conda解释器 ↓ 7. 修复Windows socket通信 ↓ 8. SparkSession成功运行

十六、你这次真正学到的东西

其实不只是:

怎么安装PySpark

而是:

一个复杂开发环境如何排查。

你已经实际接触了:

领域内容
Java环境JAVA_HOME/PATH
Python环境多版本冲突
Conda虚拟环境
SparkJVM架构
Py4JPython-Java通信
Windows网络localhost/socket
IDE配置PyCharm解释器

十七、最终稳定方案(你现在的推荐架构)

组件推荐
JavaJDK17
Python3.10
PySpark3.5.1
环境管理Conda
IDEPyCharm
Spark模式local[1](Windows)

十八、为什么很多人觉得 Spark 难装

因为:

Spark 不是纯 Python 工具。

它其实是:

Python + Java + 分布式系统

所以:

环境链路特别长。


十九、你现在已经跨过的阶段

你现在已经不属于:

“不会装环境”

阶段了。

你已经开始进入:

“理解环境为什么会崩”

这个层级。

这是很大的进步。

http://www.jsqmd.com/news/820404/

相关文章:

  • MicroBlaze软核在DDR3里跑,你的sleep函数为啥“睡过头”?Vitis 2020.1避坑实录
  • 【职场】为什么职场里最危险的人,不是坏人,而是「好人缘」的人
  • 2026年杭州算力市场大揭秘:哪家才是真正专业之选?
  • 当下Java面试临时刷刷八股还有用吗?
  • HPC能效优化:异构计算与算法革新实践
  • 2026年和平区管道疏通施工队,究竟有何独特之处值得关注?
  • 高压直流配电技术:数据中心能效革命的关键
  • 高频谐波Betatron边带优化技术在束流提取中的应用
  • Ecovadis认证咨询机构推荐及选择参考 - 品牌排行榜
  • 掌握Avogadro 2:从分子可视化到计算化学的完整实践指南
  • Godot引擎软体物理插件:基于PBD的可变形网格实现与应用
  • 当AI接过你的购物车,电商的游戏规则被改写
  • AI崛起,Java面试还需要背八股文吗?
  • 基于OpenClaw-Honcho的多智能体系统构建:从原理到工程实践
  • AI Agent 安全治理深度解析:MCP Server 与 A2A Agent 的自动化扫描架构
  • 2026目前好用的铁路运输抑尘剂品牌厂家口碑推荐 - 品牌排行榜
  • 出口黎巴嫩必知:清关要求与税费标准
  • Adafruit PiCowBell扩展板:简化Raspberry Pi Pico原型设计的终极利器
  • 2026年7月夏季供应链管理专家(SCMP)考试通知
  • ARM架构系统寄存器解析:CPACR_EL1与CPTR_EL2详解
  • 2026年法式拼瓷砖厂家榜单好评分析就选择:芒果瓷砖 - 品牌推广大师
  • 2026年北京好用的纤维素抑尘剂厂家排名 - 品牌排行榜
  • 基于meta-kb构建智能知识库:从文档向量化到RAG应用实战
  • B站缓存视频转换终极指南:3分钟无损转MP4的完整教程
  • SystemRescue 9.06 系统救援工具:新特性解析与实战应用指南
  • 2026年小程序开发审核新规则,轻松应对不通过难题
  • Docusaurus技能库插件:打造动态技术栈展示面板
  • 基于开源项目chatgpt-cloned构建本地化AI对话应用:架构、部署与定制指南
  • win出现外接显示器设置错误点不亮问题
  • 2026年10款降AI工具优缺点对比(最新) - 降AI实验室