PySpark之Python版本如何选择(详细版)
问题背景
公司目前有两套Spark集群和一套Hadoop集群用来做 数据相关的存储和计算。Hadoop的版本是2.7,Spark两套集群,一个是2.1.0版本,一个是 2.4.3版本。但是两个Spark集群安装的Python版本都是一样的,都是3.6.8
之前对大数据Spark了解不多,接手之后协助开发在提交 Python Spark任务的时候遇到问题。
最终定位是因为Python版本的问题导致的。
关于PySpark
processing data with Spark in Python
就是使用Python语言开发Spark任务提交进行数据处理。 PySpark的版本和 Spark 本身的版本一致
关于PySpark的安装和使用详见官方文档 https://spark.apache.org/docs/latest/api/python/getting_started/install.html#python-version-supported
Python版本选择
因为使用Python开发Spark任务,使用的Spark版本就和Python有着密切的关系,但是查找了 Spark官网 没有找到明确的地方指定,什么样的Spark版本需要什么样的Python版本
网上也找到一个类似的,但是个人感觉不是很详细。
于是自己使用爬虫的方式,爬取了所有的Python版本清单和Spark清单,然后再选择 Spark对应的Python版本的时候
1、先看当前Spark版本是多少
2、从Spark版本清单中找到该版本的发布时间
3、然后去 Python的版本清单中, 按照python版本排序之后 距离Spark版本的发布时间最近的Python版本,基本就是该Spark版本需要的最新的Python版本了
但是如果是两个发布时间非常接近,那就往下一个Python版本就行。
比如 Spark 2.1.0版本是2016/12/28发布的,距离 2016/12/28 最近的Python版本是3.6.0,发布于2016-12-23,按照常理也知道,Python新版本刚发布5天,Spark发布的版本中立马就支持了,肯定不是很现实。
所以对于 Spark 2.1.0 我们应该选择 3.5.9
。
Python爬取 Spark和Python版本程序 https://gitee.com/colin5063/cws-tools/blob/master/python/grab_spark_python_version.py
python 版本清单 https://gitee.com/colin5063/cws-tools/blob/master/common/python_versions.txt
spark 版本清单 https://gitee.com/colin5063/cws-tools/blob/master/common/spark_versions.txt
Spark版本对应的Python的最低版本
spark 2.1.0 到 2.4.8 版本之间,最低要求是 Python 3.4+
spark 3.0.0 以上, 最低要求是 Python 3.7+
Spark版本对应的Python的最高版本
判断的依据就是上面提到的:
Python的版本清单中, **按照python版本排序之后** 距离Spark版本的发布时间最近的Python版本,基本就是该Spark版本需要的最新的Python版本了
目前确定的是:
Spark 2.1.0 使用 Python 3.5.2
Spark 2.4.3 使用 Python 3.6.8
参考:
1、https://zhuanlan.zhihu.com/p/144151332
原文地址 PySpark之Python版本如何选择(详细版)
PySpark之Python版本如何选择(详细版)相关推荐
- ipython版本_1. Python版本的选择与安装
Python综述 Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,它具有卓越的通 ...
- python安装教程——最新详细版
文章目录 环境 安装包下载 选择下载版本 其它版本介绍 通过下载好的离线安装包,安装python 自定义安装特征 选项解释 高级选项 等待安装 安装成功 验证 送python编程手册 环境 windo ...
- 深度学习环境配置(pytorch版本)----超级无敌详细版(有手就行)
公众号文章--深度学习环境配置(pytorch版本) 写在前面:如果这篇文章对大家有帮助的话,欢迎关注Franpper的公众号:Franpper的知识铺,回复"进群",即可进入讨论 ...
- Python数据分析学习路线详细版总结
数据分析人人都有必要掌握一点,哪怕只是思维也行.下面探讨Python数据分析需要学习的知识范畴,结合自己的经历和理解,总结的学习大纲,有些章节带有解释,有些没有.当然,关于学习范畴,可能每个人的理解都 ...
- pyspark 修改python版本_python – Pyspark从日期到字符串更改列的类型
我有以下数据帧: corr_temp_df [('vacationdate', 'date'), ('valueE', 'string'), ('valueD', 'string'), ('value ...
- linux在线安装JDK(1.8版本)图文详细版
linux在线安装JDK,命令下载 在线下载JDK 命令: wget --no-check-certificate --no-cookies --header "Cookie: oracle ...
- python版本的判断、选择指南
判断源码的版本 Python3.0并不能做到完全兼容Python2.0 Python2.0与Python3.0在语法方面的差异主要表现为以下几个方面: 1.输出方面 Python2.0使用print关 ...
- JAVA软件IDEA安装教程详细版
写在前面,由于最近换电脑了,于是乎又重新安装了软件,之前都是找人帮忙安装,自己多装了几次才会. 卸载原IDEA 在卸载程序里找到IDEA,清除一下. 准备工作 1.JDK下载 官方下载软件:https ...
- python版本及ML库
一:关于Python版本的选择问题 关于Python的选择问题:要看学术界能不能把科学库迁移到Python3. 1:多个版本共用: 最近发现SciPy的最高版本是3.2,只能是退而求其次,不使用最新版 ...
最新文章
- 脑电分析系列[MNE-Python-2]| MNE中数据结构Epoch及其创建方法
- python3.6安装pygame-Pygame 框架安装教程(Python3.6为例)
- Android屏幕方向调整的两种方式
- windows linux 融合,Windows和Linux的设备驱动框架的对比融合研究
- 计算机对中断的处理是在用户态下进行的,电大本科生作业系统作业3与答案.doc...
- Bone Collector【01背包】
- map.addoverlay php,覆盖物 - 百度地图开发文档 - php中文网手册
- 解决pip2安装不成功的问题
- Latex文本文档的排版
- flash幻灯片源码
- adb 命令 monkey命令
- 计算机中丢失xvidcore.dll,win7系统提示“xvidcore.dll not found”的解决方法
- [回溯法] 求n个元素的集合的幂集 - 递归实现 - C语言
- 远程计算机桌面图标不见了怎么办,远程桌面图标不见了怎么办
- 自制hdmi线一头改vga图_杀鸡取卵 | 破拆电脑VGA电缆获取收音机天线零件:双目铁氧体磁芯...
- 别让学历限制你,你可能是AI领域的下一个巨星
- 生活不止眼前的苟且,还有诗和远方。如何理解?
- av_read_frame
- java开发工程师每天工作几小时,详细说明
- 卷积层的dropout - dropblock