【问题标题】:Error handling in PySpark reading in non existent filesPySpark 读取不存在文件时的错误处理
【发布时间】: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))

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

【问题讨论】:

    标签: python hadoop pyspark


    【解决方案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 调用中处理这个问题?
    猜你喜欢
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    • 1970-01-01
    • 2020-02-24
    • 2017-07-09
    相关资源
    最近更新 更多