调用sc.parallelize()时出现WindowsError

时间:2017-12-07 06:40:31

标签: windows apache-spark pyspark

我想使用sc.parallelize()函数,但每当我尝试调用它时,我都会收到以下错误:

File "V:/PyCharmProjects/sample.py", line 9, in <module>

input_data = sc.parallelize(sc.textFile("C:\Users\Spider\Desktop\GM_coding\Sample Data.csv"))

 File "V:\spark-2.2.0-bin-hadoop2.7\python\pyspark\context.py", line 497, in parallelize os.unlink(tempFile.name)

WindowsError: [Error 32] The process cannot access the file because it is being used by another process: u'C:\\Users\\Spider\\AppData\\Local\\Temp\\spark-fef6debd-ff91-4fb6-85dc-8c3a1da9690a\\pyspark-6ed523e7-358f-4e3c-ad83-a479fb8ecc52\\tmpxffhfi'

1 个答案:

答案 0 :(得分:0)

不确定它是否与您的错误相关(并且无法在Windows中测试),但您正在尝试parallelize已经是RDD的内容(即“并行化”);来自docs

  

textFile name,minPartitions = None,use_unicode = True

     

从HDFS读取文本文件,本地文件系统(在所有节点上都可用)或任何支持Hadoop的文件系统URI,并将其作为   字符串RDD。

这里你不需要(也不应该使用)sc.parallelize(); sc.textFile的输出已经是RDD。你应该去

input_data = sc.textFile("C:\Users\Spider\Desktop\GM_coding\Sample Data.csv")

另请参阅the quick start guide中的示例。