#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, возникла проблема.
Поэтому, если вы столкнулись с такой же проблемой, попробуйте изменить свои версии.