Правильный способ установить переменные Spark в ноутбуке Юпитера

datascience.stackexchange https://datascience.stackexchange.com/questions/14020

  •  16-10-2019
  •  | 
  •  

Вопрос

Мне нужно установить пару переменных в ноутбуке Jupyter, где у меня есть ранее существовавший SparkContext и SQLContext, и я делаю это неправильно. Если я не включаю
sc.stop (), я получаю ошибку, которую я пытаюсь создать второй контекст. Если я включаю это, я получаю ошибку, которую я пытаюсь позвонить методам в контексте остановки.

Может ли кто -нибудь сказать мне правильный способ установить эти переменные?

Вот мой код:

from pyspark import SparkConf, SparkContext
from pyspark.sql import HiveContext
from pyspark.sql import SQLContext
conf = (SparkConf()
       .set("spark.yarn.executor.memoryOverhead", "4096")
       .set("spark.kryoserializer.buffer.max.mb", "1024"))

sc.stop()
sc = SparkContext(conf=conf)
sqlContext = SQLContext.getOrCreate(sc)
Это было полезно?

Решение

Когда вы запускаете Spark в оболочке, объект SparkConf уже создан для вас. Как указано в документация Как только объект SparkConf передается в Spark, он больше не может быть изменен пользователем. Таким образом, остановка его и создание нового - это правильный способ сделать это.

Однако теперь это должно быть возможно для Spark 2.0 и выше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top