我在HDFS中有多个Orc文件,目录结构如下:
orc/
├─ data1/
│ ├─ 00.orc
│ ├─ 11.orc
├─ data2/
│ ├─ 22.orc
│ ├─ 33.orc
我正在使用Spark:读取这些文件
spark.sqlContext.read.format("orc").load("/orc/data*/")
问题是其中一个文件已损坏,所以我想跳过/忽略该文件。
我看到的唯一方法是获取所有兽人文件,并在将其传递给Spark之前逐一验证(通过读取它们(。但这样的话,我会把同样的文件读两遍。
有什么办法可以避免我把文件读两遍吗?Spark对此有什么提供吗?
这将帮助您:
spark.sql("set spark.sql.files.ignoreCorruptFiles=true")