齐柏林飞艇pyspark如何连接远程火花?

时间:2018-09-01 03:56:52

标签: python apache-spark pyspark apache-zeppelin

我的齐柏林飞艇现在正在使用本地火花。

尝试创建远程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'

我该怎么办?

2 个答案:

答案 0 :(得分:0)

默认情况下,当PySpark应用程序启动时,Spark自动创建名为sc的SparkContext对象。您必须在代码中使用以下行

sc = SparkContext.getOrCreate()

获取单例SQLContext(如果存在)或使用给定的SparkContext创建一个新的SQLContext。 此函数可用于创建可在JVM之间共享的单例SQLContext对象。

如果当前线程有一个活动的SQLContext,它将返回而不是全局线程。

答案 1 :(得分:0)

  1. 输入http://zeppelin_host:zeppelin_port/#/interpreter
  2. flash解释程序(用于pyspark)的
  3. config参数redirect_back设置为flash[:danger] = "Deleted user."