PySpark之Python版本如何选择(详细版)
创始人
2024-03-18 15:12:38

问题背景

公司目前有两套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版本如何选择(详细版)

相关内容

热门资讯

今年我省粮食产量达515.56... (来源:辽宁日报)转自:辽宁日报 图为在中储粮(盘锦)储运有限公司,装运粮食的重型卡车排起长队...
国家发展改革委部署促进投资止跌... (来源:辽宁日报)转自:辽宁日报 新华社北京12月13日电 (记者魏玉坤) 记者13日从全国发展和改...
江苏省实施《中华人民共和国森林... (来源:新华日报) 目 录 第一章 总则 第二章 森林、林木和林地权属管理...
姜堰数字化产品讲“活”理论 (来源:新华日报) □ 本报记者 卢佳乐 通讯员 姜宣 “王教授,您约我‘喝茶论道’,...
联合国维和部队在苏丹遇袭 6人... 转自:财联社【联合国维和部队在苏丹遇袭 6人死亡】财联社12月14日电,当地时间13日,苏丹武装部队...