我的齐柏林飞艇现在正在使用当地火花。
当我尝试创建一个远程SparkContext时得到了ValueError: Cannot run multiple SparkContexts at once
。
关注multiple SparkContexts error in tutorial
写下面的代码:
from pyspark import SparkConf, SparkContext
sc.stop()
conf = SparkConf().setAppName('train_etl').setMaster('spark://xxxx:7077')
sc = SparkContext(conf=conf)
有另一个错误:
Traceback (most recent call last):
File "/tmp/zeppelin_pyspark-6681108227268089746.py", line 363, in <module>
sc.setJobGroup(jobGroup, jobDesc)
File "/usr/local/spark/python/lib/pyspark.zip/pyspark/context.py", line 944, in setJobGroup
self._jsc.setJobGroup(groupId, description, interruptOnCancel)
AttributeError: 'NoneType' object has no attribute 'setJobGroup'
我该怎么办?
默认情况下,当PySpark应用程序启动时,Spark会自动创建名为sc的SparkContext对象。您必须在代码中使用以下行。
sc = SparkContext.getOrCreate()
获取单例SQLContext(如果存在)或使用给定的SparkContext创建新的SQLContext。此函数可用于创建可在JVM上共享的单例SQLContext对象。
如果当前线程有一个活动的SQLContext,将返回它而不是全局线程。
master
的spark
解释器(用于pyspark)到spark://xxxx:7077