【问题标题】:PySpark 2.4.5 is not compatible with Python 3.8.3, how do I solve this?PySpark 2.4.5 与 Python 3.8.3 不兼容,我该如何解决?
【发布时间】:2020-09-24 06:28:51
【问题描述】:

代码

from pyspark import SparkContext,SparkConf

conf=SparkConf().setMaster('local').setAppName('Test App')
sc=SparkContext(conf)

错误信息

    Traceback (most recent call last):
      File "C:\Users\Test\PycharmProjects\python-test\MainFile.py", line 5, in <module>
        from pyspark import SparkContext,SparkConf
      File "C:\Test\Python_3.8.3_Latest\lib\site-packages\pyspark\__init__.py", line 51, in <module>
        from pyspark.context import SparkContext
      File "C:\Test\Python_3.8.3_Latest\lib\site-packages\pyspark\context.py", line 31, in <module>
        from pyspark import accumulators
      File "C:\Test\Python_3.8.3_Latest\lib\site-packages\pyspark\accumulators.py", line 97, in <module>
        from pyspark.serializers import read_int, PickleSerializer
      File "C:\Test\Python_3.8.3_Latest\lib\sit`enter code here`e-packages\pyspark\serializers.py", line 72, in <module>
        from pyspark import cloudpickle
      File "C:\Test\Python_3.8.3_Latest\lib\site-packages\pyspark\cloudpickle.py", line 145, in <module>
        _cell_set_template_code = _make_cell_set_template_code()
      File "C:\Test\Python_3.8.3_Latest\lib\site-packages\pyspark\cloudpickle.py", line 126, in _make_cell_set_template_code
        return types.CodeType(
    TypeError: an integer is required (got type bytes)

【问题讨论】:

标签: python apache-spark pyspark


【解决方案1】:

Spark 3.0 已经发布了一段时间,它与 Python 3.8.+ 兼容。 您遇到的错误不再可重现。

【讨论】:

    【解决方案2】:

    虽然最新的 Spark 文档说它支持Python 2.7+/3.4+,但它实际上还不支持 Python 3.8。根据this PR,预计 Spark 3.0 将支持 Python 3.8。因此,您可以试用 Spark 3.0 预览版(假设您不打算进行生产部署),或者“暂时”为 Spark 2.4.x 回退到 Python 3.6/3.7。

    【讨论】:

    • 我降级到 Python 3.7.7
    • pyspark 3.1.1 解决了这个与 Python 3.8 的兼容性问题吗?
    • @dallonsi this 表示该问题已在 spark v3.0.0 中修复,因此应该可以使用。
    猜你喜欢
    • 2021-11-16
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 2021-07-16
    • 2021-03-20
    • 2019-03-20
    • 2017-03-20
    • 1970-01-01
    相关资源
    最近更新 更多