【问题标题】:spark python in zeppelin aws error running programzeppelin aws中的spark python错误运行程序
【发布时间】: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 服务上尝试过此代码。此代码运行成功

标签: python amazon-web-services apache-spark apache-zeppelin


【解决方案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依赖
猜你喜欢
  • 2019-01-05
  • 2017-01-19
  • 2017-03-11
  • 2020-11-29
  • 2021-08-06
  • 2016-03-14
  • 2018-10-29
  • 1970-01-01
  • 2016-08-13
相关资源
最近更新 更多