質問

既存の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以上で可能になるはずです。

ライセンス: CC-BY-SA帰属
所属していません datascience.stackexchange
scroll top