Jupyterノートブックにスパーク変数を設定する正しい方法
質問
既存のSparkContextとSQLContextがあるJupyterノートブックにいくつかの変数を設定する必要があります。私が含めない場合
sc.stop()、2番目のコンテキストをインスタンス化しようとしているエラーが発生します。含めると、停止したコンテキストでメソッドを呼び出そうとしているエラーが発生します。
誰かがこれらの変数を設定する正しい方法を教えてもらえますか?
これが私のコードです:
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以上で可能になるはずです。
所属していません datascience.stackexchange