我想使用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'
答案 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中的示例。