链接到 pyspark 时 Pycharm 出错:未定义名称“spark”
Posted
技术标签:
【中文标题】链接到 pyspark 时 Pycharm 出错:未定义名称“spark”【英文标题】:Error in Pycharm when linking to pyspark: name 'spark' is not defined 【发布时间】: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 中定义它们——它们会自动为您定义
【参考方案1】:
当您从命令行启动pyspark
时,您有一个sparkSession
对象和一个sparkContext
可供您使用,分别为spark
和sc
。
为了在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,所以我真的不知道。会很高兴查找它.. 编辑:我已经编辑了我的答案以上是关于链接到 pyspark 时 Pycharm 出错:未定义名称“spark”的主要内容,如果未能解决你的问题,请参考以下文章
在 PyCharm 中安装 python-snappy 时出错
Pyspark - 将文件从本地(边缘节点)复制到 HDFS 位置时出错
pyspark - 将 .csv 文件从 url 加载到 Spark 时出错
Pyspark - 将数据保存到 Hive 表时出错“未解析的运算符'InsertIntoTable HiveTableRelation'”