pyspark: метод isBarrier ([]) не существует - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь выучить Spark, следуя некоторому примеру уровня приветствия, например ниже, используя pyspark.Я получил ошибку «Метод isBarrier ([]) не существует», полная ошибка включена ниже кода.

from pyspark import SparkContext

if __name__ == '__main__':
    sc = SparkContext('local[6]', 'pySpark_pyCharm')
    rdd = sc.parallelize([1, 2, 3, 4, 5, 6, 7, 8])
    rdd.collect()
    rdd.count()

enter image description here

Хотя, когда я запускаю сеанс pyspark в командной строке напрямую и набираю тот же код, он отлично работает:

enter image description here

Моя настройка:

  • windows 10 Pro x64
  • python 3.7.2
  • spark 2.3.3 hadoop 2.7
  • pyspark 2.4.0

1 Ответ

0 голосов
/ 04 марта 2019

Проблема заключается в несовместимости версий библиотек Spark JVM и PySpark.В общем случае версия PySpark должна точно соответствовать версии вашей установки Spark (хотя теоретически достаточно совпадать с основной и вспомогательной версиями, в прошлых версиях были внесены некоторые несовместимости в поддерживающие выпуски ).

Другими словами, Spark 2.3.3 не совместим с PySpark 2.4.0, и вам необходимо либо обновить Spark до 2.4.0, либо понизить PySpark до 2.3.3.

Общий PySpark непредназначен для использования автономной библиотеки.В то время как пакет PyPi является удобным средством разработки (часто проще просто установить пакет, чем вручную расширять PYTHONPATH), для реальных развертываний лучше придерживаться пакета PySpark, связанного с фактическим развертыванием Spark..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...