Почему Spark не работает на Eclipse? - PullRequest
0 голосов
/ 30 декабря 2018

Я установил pysark2.1 с hadoop2.6 на Eclipse (плагины Eclipse: PyDev), используя Python 3.7, JRE 8, JDK 1.8.

Я пытаюсь запустить простой тестовый код:

from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()

Но я получаю следующую ошибку:

Использование стандартного профиля Spark log4j:org / apache / spark / log4j-defaults.properties Установка уровня журнала по умолчанию "WARN".Чтобы настроить уровень ведения журнала, используйте sc.setLogLevel (newLevel).Для SparkR используйте setLogLevel (newLevel).18/12/30 17:04:33 ОШИБКА SparkUncaughtExceptionHandler: необработанное исключение в потоке Thread [main, 5, main] java.util.NoSuchElementException: ключ не найден: _PYSPARK_DRIVER_CALLBACK_HOST

в scala.ike $ classap..default (MapLike.scala: 228)
в scala.collection.AbstractMap.default (Map.scala: 59)
в scala.collection.MapLike $ class.apply (MapLike.scala: 141)
в scala.collection.AbstractMap.apply (Map.scala: 59)
в org.apache.spark.api.python.PythonGatewayServer $$ anonfun $ main $ 1.apply $ mcV $ sp (PythonGatewayServer.scala: 50) вorg.apache.spark.util.Utils $ .tryOrExit (Utils.scala: 1228)
в org.apache.spark.api.python.PythonGatewayServer $ .main (PythonGatewayServer.scala: 37) в org.apache.spark.api.python.PythonGatewayServer.main (PythonGatewayServer.scala) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
в sun.reflect.NativeMethodAccessorImpl.invokeвызывать (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:498)
в org.apache.spark.deploy.SparkSubmit $ .org $ apache $ spark $ deploy $ SparkSubmit $$ runMain(SparkSubmit.scala: 738) в org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1 (SparkSubmit.scala: 187) в org.apache.spark.deploy.SparkSubmit $ .submit (SparkSubmit.scala: 212) или.apache.spark.deploy.SparkSubmit $ .main (SparkSubmit.scala: 126) в org.apache.spark.deploy.SparkSubmit.main (SparkSubmit.scala)

Отслеживание (последний вызов был последним):

Файл "C: \ Users \ charfoush \ eclipse-workspace \ sample2 \ test2.py", строка 7, в

spark = SparkSession.builder.getOrCreate()   

Файл "C: \ Users \ charfoush \ AppData \ Local\ Programs \ Python \ Python37-32 \ lib \ site-packages \ pyspark \ sql \ session.py ", строка 173, в getOrCreate

sc = SparkContext.getOrCreate(sparkConf)   

Файл" C: \ Users \ charfoush \ AppData \ Local\ Programs \ Python \ Python37-32 \ lib \ site-packages \ pyspark \ context.py ", строка 351, в getOrCreate

SparkContext(conf=conf or SparkConf())   

Файл" C: \ Users \ charfoush \ AppData \ Local \ Programs\ Python \ Python37-32 \ Lib\ site-packages \ pyspark \ context.py ", строка 115, в init

SparkContext._ensure_initialized(self, gateway=gateway, conf=conf)   

Файл" C: \ Users \ charfoush \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ pyspark \ context.py ", строка 300, в _ensure_initialized

SparkContext._gateway = gateway or launch_gateway(conf)   

Файл" C: \ Users \ charfoush \ AppData \ Local \ Programs \ Python \ Python37-32 "\ lib \ site-packages \ pyspark \ java_gateway.py ", строка 93, в launch_gateway

raise Exception("Java gateway process exited before sending its port number") Exception: Java gateway process exited before sending

номер его порта

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018
0 голосов
/ 30 декабря 2018

Эта проблема может возникать, например:

  • , либо если у вас несовпадение версий
  • , либо если вы не определили правильно SPARK_HOME AND PYTHONPATH переменные среды (убедитесь, что ни один из них не нацелен на более старую версию)
...