Domanda

Ho bisogno di impostare un paio di variabili nel mio taccuino Jupyter dove ho una sparkContext preesistente e SqlContext e sto facendo male. Se non dispone di una
sc.stop () , Ottengo un errore che sto cercando di creare un'istanza di un secondo contesto. Se lo faccio includo, ottengo un errore che sto provando a chiamare i metodi su un contesto fermato.

Qualcuno può dirmi il modo corretto di impostare queste variabili?

Ecco il mio codice:

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)
È stato utile?

Soluzione

Quando si esegue Spark nella shell l'oggetto SparkConf è già stato creato per voi. Come indicato nella documentazione del una volta SparkConf oggetto viene passato al Spark, non può più essere modificato dall'utente. Quindi l'arresto e la creazione di uno nuovo è in realtà il modo giusto per farlo.

Tuttavia, questo dovrebbe essere possibile per Spark 2.0 e superiori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top