当我在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时可能出了点问题。
从命令行启动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