zeppelin pyspark如何连接远程火花?

问题描述 投票:0回答:2

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

当我尝试创建一个远程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'

我该怎么办?

python apache-spark pyspark apache-zeppelin
2个回答
0
投票

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

sc = SparkContext.getOrCreate()

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

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


0
投票
  1. 输入http://zeppelin_host:zeppelin_port/#/interpreter
  2. 配置参数masterspark解释器(用于pyspark)到spark://xxxx:7077
© www.soinside.com 2019 - 2024. All rights reserved.