码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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版本了
    
    • 1

    目前确定的是:

    • 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版本如何选择(详细版)

  • 相关阅读:
    年龄到了一定程度才能体会到世界杯的真正意义
    元梦之星内测上线,如何在B站打响声量?
    Linux高级笔记
    【开源】基于RMBG的一键抠图与证件照制作系统【含一键启动包】
    【AI视野·今日CV 计算机视觉论文速览 第262期】Fri, 6 Oct 2023
    通过Ycoto Project定制嵌入式Ycoto Linux镜像
    从首届中国测绘地理信息大会,解读2023年度国产GIS创新关键词
    深入创新,共建原生 | 「DaoCloud 道客」与华钦科技签署合作备忘录
    linux文件锁
    Docker清理
  • 原文地址:https://blog.csdn.net/eaglecolin/article/details/128175445
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号