Общие проблемы импорта Pyspark

#apache-spark #pyspark #installation #path

Вопрос:

Я успешно установил Spark и Pyspark на своей машине, добавил переменные пути и т. Д., Но по-прежнему сталкиваюсь с проблемами импорта.

Это и есть код:

 from pyspark.sql import SparkSession

spark = SparkSession.builder 
                    .config("spark.hadoop.hive.exec.dynamic.partition", "true") 
                    .config("spark.hadoop.hive.exec.dynamic.partition.mode", "nonstrict") 
                    .enableHiveSupport() 
                    .getOrCreate()
 

И это сообщение об ошибке:

 "C:...DesktopClubevenvScriptspython.exe" "C:.../Desktop/Clube/services/ce_modelo_analise.py"
Traceback (most recent call last):
  File "C:...DesktopClubeservicesce_modelo_analise.py", line 1, in <module>
    from pyspark.sql import SparkSession
  File "C:Sparkspark-2.4.0-bin-hadoop2.7pythonpyspark__init__.py", line 51, in <module>
    from pyspark.context import SparkContext
  File "C:Sparkspark-2.4.0-bin-hadoop2.7pythonpysparkcontext.py", line 31, in <module>
    from pyspark import accumulators
  File "C:Sparkspark-2.4.0-bin-hadoop2.7pythonpysparkaccumulators.py", line 97, in <module>
    from pyspark.serializers import read_int, PickleSerializer
  File "C:Sparkspark-2.4.0-bin-hadoop2.7pythonpysparkserializers.py", line 71, in <module>
    from pyspark import cloudpickle
  File "C:Sparkspark-2.4.0-bin-hadoop2.7pythonpysparkcloudpickle.py", line 145, in <module>
    _cell_set_template_code = _make_cell_set_template_code()
  File "C:Sparkspark-2.4.0-bin-hadoop2.7pythonpysparkcloudpickle.py", line 126, in _make_cell_set_template_code
    return types.CodeType(

TypeError: 'bytes' object cannot be interpreted as an integer
 

Если я удалю строку импорта, эти проблемы исчезнут. Как я уже говорил, мои переменные пути заданы:

введите описание изображения здесь

и

введите описание изображения здесь

Кроме того, Spark корректно работает в cmd:

введите описание изображения здесь

Ответ №1:

Углубляясь, я обнаружил проблему: я использую Spark в версии 2.4, которая работает с Python 3.7.

Когда я использовал Python 3.10, возникла проблема.

Поэтому, если вы столкнулись с такой же проблемой, попробуйте изменить свои версии.