次のSOFの質問Pyspark でスクリプトを実行し、完了したら IPython シェルにドロップするにはどうすればよいでしょうか?pyspark スクリプトを起動する方法を説明します。
%run -d myscript.py
しかし、既存の Spark コンテキストにはどのようにアクセスするのでしょうか?
新しいものを作成するだけでは機能しません。
----> sc = SparkContext("local", 1)
ValueError: Cannot run multiple SparkContexts at once; existing
SparkContext(app=PySparkShell, master=local) created by <module> at
/Library/Python/2.7/site-packages/IPython/utils/py3compat.py:204
しかし、既存のものを使用しようとすると...まあ何既存のものはありますか?
In [50]: for s in filter(lambda x: 'SparkContext' in repr(x[1]) and len(repr(x[1])) < 150, locals().iteritems()):
print s
('SparkContext', <class 'pyspark.context.SparkContext'>)
つまり、SparkContextインスタンスには変数がない
ベストアンサー1
以下のものが含まれます:
from pyspark.context import SparkContext
そしてSparkContext
次のように静的メソッドを呼び出します。
sc = SparkContext.getOrCreate()