Python 获取错误名称';火花&x27;没有定义

Python 获取错误名称';火花&x27;没有定义,python,apache-spark,pyspark,Python,Apache Spark,Pyspark,这是我使用的代码: df = None from pyspark.sql.functions import lit for category in file_list_filtered: data_files = os.listdir('HMP_Dataset/'+category) for data_file in data_files: print(data_file) temp_df = spark.read.option('heade

这是我使用的代码:

df = None

from pyspark.sql.functions import lit

for category in file_list_filtered:
    data_files = os.listdir('HMP_Dataset/'+category)

    for data_file in data_files:
        print(data_file)
        temp_df = spark.read.option('header', 'false').option('delimiter', ' ').csv('HMP_Dataset/'+category+'/'+data_file, schema = schema)
        temp_df = temp_df.withColumn('class', lit(category))
        temp_df = temp_df.withColumn('source', lit(data_file))

        if df is None:
            df = temp_df
        else:
            df = df.union(temp_df)
我得到了这个错误:

NameError                                 Traceback (most recent call last)
<ipython-input-4-4296b4e97942> in <module>
      9     for data_file in data_files:
     10         print(data_file)
---> 11         temp_df = spark.read.option('header', 'false').option('delimiter', ' ').csv('HMP_Dataset/'+category+'/'+data_file, schema = schema)
     12         temp_df = temp_df.withColumn('class', lit(category))
     13         temp_df = temp_df.withColumn('source', lit(data_file))

NameError: name 'spark' is not defined

namererror回溯(最近一次调用)
在里面
9对于数据文件中的数据文件:
10打印(数据文件)
--->11 temp_df=spark.read.option('header','false')。option('delimiter',').csv('HMP_Dataset/'+category+'/'+data_file,schema=schema)
12 temp_df=带柱的temp_df('类别',照明(类别))
13 temp_df=temp_df.with column('source',lit(数据文件))
NameError:未定义名称“spark”

如何解决它?

尝试定义
spark
var

from pyspark.context import SparkContext
from pyspark.sql.session import SparkSession
sc = SparkContext('local')
spark = SparkSession(sc)

初始化Spark会话,然后在循环中使用
Spark

df = None

from pyspark.sql.functions import lit
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('app_name').getOrCreate()

for category in file_list_filtered:
...

数据文件中数据文件的名称错误回溯(最近一次调用最后一次):11打印(数据文件)-->12 temp\u df=spark.read.option('header','false')。option('delimiter','')。csv('HMP\u Dataset/'+category+'/'+数据文件,schema=schema)13 temp\u df=temp\u df.withColumn('class',lit(category))14 temp_df=temp_df.withColumn('source',lit(data_file))name错误:名称'schema'不正确defined@ParamitaBhattacharjee,您正在使用模式读取csv文件,因此需要定义模式(或)您可以从
spark.read.csv
中删除
schema=schema
。谢谢实际上我正在使用jupyter笔记本,所以我会收到很多错误,但是如果我在google colab中也这样做,它会很好地工作,谢谢