Получение сообщения «Возможно, SparkContext уже существует» с использованием Python и Pyspark из Jupyter Notebook - PullRequest
0 голосов
/ 13 марта 2020

Я относительно новичок в Pyspark и в своем Python коде после создания SparkContext я забыл добавить s c .stop () в конец моего кода, и в результате спаркконтекст так и не был очищен.
Теперь, когда я выполняю свой код, он находит старый контекст и выдает сообщение «Возможно, SparkContext уже существует».
Если я смогу запустить код снова, я добавлю s c .stop () в конце но сейчас мне нужно найти способ очистить старый контекст вручную.
В приведенном ниже коде метод getorcreate должен повторно использовать существующий контекст, если он существует, но в моем случае он не работает.
Я уверен, что когда системы будут перезагружены на следующей неделе, это решит проблему, но мне нужно разрешение, чтобы обойти эту немедленную проблему, и на случай, если sparkcontext останется там, например, в случае сбоя приложения.

import os

import sys

os.environ["JAVA_HOME"] =  "/usr/java/default"

os.environ["SPARK_HOME"] = "/opt/cloudera/parcels/SPARK2/lib/spark2/"

os.environ["PYLIB"] = os.environ["SPARK_HOME"] + "/python/lib"

os.environ["PYSPARK_PYTHON"] = "/opt/cloudera/parcels/citiconda3/bin/python"

sys.path.insert(0, os.environ["PYLIB"] +"/py4j-0.10.7-src.zip")

sys.path.insert(0, os.environ["PYLIB"] + "/pyspark.zip")

Конфигурация для приложения Spark.

from pyspark     import SparkConf

from pyspark.sql import HiveContext, SparkSession

os.environ["JAVA_HOME"] =  "/usr/java/default"

os.environ["SPARK_HOME"] = "/opt/cloudera/parcels/SPARK2/lib/spark2/"

os.environ["PYLIB"] = os.environ["SPARK_HOME"] + "/python/lib"

os.environ["PYSPARK_PYTHON"] = "/opt/cloudera/parcels/westconda3/bin/python"

sys.path.insert(0, os.environ["PYLIB"] +"/py4j-0.10.7-src.zip")

sys.path.insert(0, os.environ["PYLIB"] + "/pyspark.zip")



conf = SparkConf()

conf.setMaster('yarn-client')

conf.setAppName('Forecast')

Сбой этого оператора - getorcreate context

spark = SparkSession.builder.config(conf=conf).enableHiveSupport().getOrCreate()

sc    = spark.sparkContext

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