PySpark 读取不存在文件时的错误处理
Posted
技术标签:
【中文标题】PySpark 读取不存在文件时的错误处理【英文标题】:Error handling in PySpark reading in non existent files 【发布时间】:2015-06-25 10:23:33 【问题描述】:我有大量目录和文件可供读取。然而,其中一些可能实际上并不存在,这不是问题——我会简单地忽略任何错误——使用 try 方法。有没有办法在 PySpark 中允许这样做。
这是返回的错误信息:
py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
: org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:
我正在构建一系列文件以查看以下内容:
scI = sc.textFile(",".join(paths))
其中路径是可能文件的路径列表。现在我可以检查文件系统,看看它们是否存在,但是有没有更优雅的方法呢?
【问题讨论】:
【参考方案1】:以下应该有效:
for f in file_list:
Try:
read_file(f)
except org.apache.hadoop.mapred.InvalidInputException:
deal_with_absent_file(f)
【讨论】:
我可以用标准的 os.path.isfile(fname) 来做到这一点,有没有办法在 textFile 调用中处理这个问题?以上是关于PySpark 读取不存在文件时的错误处理的主要内容,如果未能解决你的问题,请参考以下文章
posix_spawn() :使用 posix_spawn() 时的错误处理问题