【问题标题】:Error in Pycharm when linking to pyspark: name 'spark' is not defined链接到 pyspark 时 Pycharm 出错:未定义名称“spark”
【发布时间】:2019-10-30 17:32:15
【问题描述】:

当我在 cmd 中运行示例代码时,一切正常。

>>> import pyspark
>>> l = [('Alice', 1)]
>>> spark.createDataFrame(l).collect()
[Row(_1='Alice', _2=1)]

但是当我在pycharm中执行代码时,我得到一个错误。

spark.createDataFrame(l).collect()
NameError: name 'spark' is not defined

当我将 Pycharm 链接到 pyspark 时可能有问题。

Environment Variable

Project Structure

Project Interpreter

【问题讨论】:

  • 您是否缺少定义spark:from pyspark.sql import SparkSession; spark=SparkSession.builder.getOrCreate() 的部分?什么版本的火花?
  • spark 版本:2.4.4 但是在CMD中,我也没有定义spark。
  • 您不必在 pyspark shell 中定义它们——它们会自动为您定义

标签: pyspark pycharm


【解决方案1】:

当您从命令行启动pyspark 时,您有一个sparkSession 对象和一个sparkContext 可供您使用,分别为sparksc

为了在pycharm中使用它,你应该先创建这些变量以便你可以使用它们。

from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()
sc = spark.sparkContext

编辑:

请看:Failed to locate the winutils binary in the hadoop binary path

【讨论】:

  • 之后,我收到一个新错误。 19/10/30 13:46:36 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable C:\hadoop-2.7.7\bin\winutils.exe in the Hadoop binaries.
  • 你是如何安装 pyspark 的?我从来没有用过windows,所以我真的不知道。会很高兴查找它.. 编辑:我已经编辑了我的答案
猜你喜欢
  • 1970-01-01
  • 2020-08-03
  • 2018-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-21
  • 1970-01-01
  • 2015-02-09
相关资源
最近更新 更多