zeppelin aws中的spark python错误运行程序

Posted

技术标签:

【中文标题】zeppelin aws中的spark python错误运行程序【英文标题】:spark python in zeppelin aws error running program 【发布时间】:2019-12-09 20:08:57 【问题描述】:

我在 zeppelin Web 服务 spark aws emr 中尝试了有关 python 的示例代码,并在运行此代码时发现错误 我期望的输出是我的 s3 存储中文件中的字数

text_file = sc.textFile("s3://mybuckettest2/Scenarios.txt")
counts = text_file.flatMap(lambda line: line.split(" ")) \
             .map(lambda word: (word, 1)) \
             .reduceByKey(lambda a, b: a + b)
counts.saveAsTextFile("s3://mybuckettest2/test.txt")

错误:

 Traceback (most recent call last):
  File "/tmp/zeppelin_python-2374039163027007666.py", line 319, in <module>
    raise Exception(traceback.format_exc())
Exception: Traceback (most recent call last):
  File "/tmp/zeppelin_python-2374039163027007666.py", line 307, in <module>
    exec(code, _zcUserQueryNameSpace)
  File "<stdin>", line 1, in <module>
NameError: name 'sc' is not defined

【问题讨论】:

sc 未定义。 我曾在 aws emr hue Web 服务上尝试过此代码。此代码运行成功 【参考方案1】:

我是从documentation 找到的。

在 Scala、Python 和 R 环境中,SparkContext、SQLContext 和 ZeppelinContext 会自动创建并分别作为变量名 sc、sqlContext 和 z 公开。使用 Spark 2.x 时,从 0.6.1 开始,SparkSession 可作为变量 spark 使用。

这意味着sc 用于scala,您必须使用sqlContext 用于pyspark。

【讨论】:

我认为这是因为zeppelin没有sc依赖,但是hue有sc依赖

以上是关于zeppelin aws中的spark python错误运行程序的主要内容,如果未能解决你的问题,请参考以下文章

如何在现有的 Apache Spark 独立集群上安装 Apache Zeppelin

SparkSession 应用程序源代码配置属性未覆盖 AWS EMR 默认值上的 JupyterHub 和 Zeppelin

如何在 HDP 中的 zeppelin-spark2 中将库安装到 python

Spark Standalone + Zeppelin + Docker:如何设置 SPARK_HOME

Apache Zeppelin + Spark 的按需用户集群?

腾讯云zeppelin中spark解释器组异常