调用 sc.parallelize() 时出现 WindowsError
Posted
技术标签:
【中文标题】调用 sc.parallelize() 时出现 WindowsError【英文标题】:WindowsError when calling sc.parallelize() 【发布时间】:2017-12-07 06:40:31 【问题描述】:我想使用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'
【问题讨论】:
我的标志配额用完了...你能描述更多吗?显然,另一个进程仍在访问资源。你必须杀死正在使用的文件,在这里:superuser.com/questions/2937/… 感谢您的评论!我要做的就是使用 parallelize() 函数。即使在新启动时,我也会收到此错误。我试图寻找一个相关的进程,但找不到任何进程。 答案有帮助吗? 【参考方案1】:不确定它是否与您的错误相关(并且无法在 Windows 中对其进行测试),但您正在尝试 parallelize
已经是 RDD 的东西(即“并行化”);来自docs:
textFile
(名称,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 中的示例。
【讨论】:
以上是关于调用 sc.parallelize() 时出现 WindowsError的主要内容,如果未能解决你的问题,请参考以下文章
在尝试解析 JSON 数据 W/System.err 时出现此错误:org.json.JSONException:对客户没有价值