zeppelin pyspark, как подключить дистанционную свечу? - PullRequest
0 голосов
/ 01 сентября 2018

Мой дирижабль теперь использует локальную искру.

Получил ValueError: Cannot run multiple SparkContexts at once, когда я попытался создать удаленный SparkContext.

Follow множественная ошибка SparkContexts в руководстве

напишите код:

from pyspark import SparkConf, SparkContext

sc.stop()
conf = SparkConf().setAppName('train_etl').setMaster('spark://xxxx:7077')
sc = SparkContext(conf=conf)

Есть еще одна ошибка:

Traceback (most recent call last):
  File "/tmp/zeppelin_pyspark-6681108227268089746.py", line 363, in <module>
    sc.setJobGroup(jobGroup, jobDesc)
  File "/usr/local/spark/python/lib/pyspark.zip/pyspark/context.py", line 944, in setJobGroup
    self._jsc.setJobGroup(groupId, description, interruptOnCancel)
AttributeError: 'NoneType' object has no attribute 'setJobGroup'

Что мне делать?

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018
  1. Введите http://zeppelin_host:zeppelin_port/#/interpreter
  2. параметр конфигурации master из spark интерпретатора (который используется для pyspark) до spark://xxxx:7077
0 голосов
/ 01 сентября 2018

по умолчанию Spark автоматически создает объект SparkContext с именем sc, когда запускается приложение PySpark. В вашем коде необходимо использовать строку, которая ниже

sc = SparkContext.getOrCreate()

Получите одноэлементный SQLContext, если он существует, или создайте новый, используя заданный SparkContext. Эту функцию можно использовать для создания одноэлементного объекта SQLContext, который можно использовать в JVM.

Если для текущего потока существует активный SQLContext, он будет возвращен вместо глобального.

...