PySpark读取不存在的文件时的错误处理

时间:2015-06-25 10:23:34

标签: python hadoop pyspark

我有一大堆可能从中读取的目录和文件。然而,其中一些可能实际上并不存在,这不是问题 - 我会简单地忽略任何错误 - 使用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))

其中paths是可能文件的路径列表。现在我可以检查文件系统并查看它们是否存在,但是有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

以下内容应该有效:

for f in file_list:
   Try:
       read_file(f)
   except org.apache.hadoop.mapred.InvalidInputException:
       deal_with_absent_file(f)