【问题标题】:zeppelin pyspark how to connect remote spark?zeppelin pyspark 如何连接远程火花?
【发布时间】:2019-02-07 00:48:56
【问题描述】:

我的 zeppelin 现在正在使用本地 spark。

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


    【解决方案1】:

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

    sc = SparkContext.getOrCreate()
    

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

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

    【讨论】:

      【解决方案2】:
      1. 输入http://zeppelin_host:zeppelin_port/#/interpreter
      2. spark解释器(用于pyspark)的配置参数master配置为spark://xxxx:7077

      【讨论】:

        猜你喜欢
        • 2015-12-22
        • 2016-05-08
        • 2019-08-15
        • 2017-02-21
        • 1970-01-01
        • 2016-12-09
        • 1970-01-01
        • 2016-06-05
        • 1970-01-01
        相关资源
        最近更新 更多