Java Spark,忽略一些输入文件

Java Spark,忽略一些输入文件,java,apache-spark,Java,Apache Spark,我有hdfs上的数据,文件夹结构类似 hdfs://ns1/abc/20200101/00/00/ hdfs://ns1/abc/20200101/00/01/ hdfs://ns1/abc/20200101/00/02/ 基本上,我们每分钟创建一个文件夹,并在文件夹中放入数百个文件 我们有一个spark(2.3)应用程序(用java编写),它每天处理数据,所以我们使用的输入路径如下hdfs://ns1/abc/20200101,简单明了,但有时,一些文件已损坏或大小为零,这会导致整个sp

我有hdfs上的数据,文件夹结构类似

  • hdfs://ns1/abc/20200101/00/00/
  • hdfs://ns1/abc/20200101/00/01/
  • hdfs://ns1/abc/20200101/00/02/
基本上,我们每分钟创建一个文件夹,并在文件夹中放入数百个文件

我们有一个spark(2.3)应用程序(用java编写),它每天处理数据,所以我们使用的输入路径如下hdfs://ns1/abc/20200101,简单明了,但有时,一些文件已损坏或大小为零,这会导致整个spark作业失败

那么,有没有简单的方法来保存任何坏文件呢?已经尝试了--conf spark.sql.files.ignoreCorruptFiles=true,但没有任何帮助

或者在提交spark作业时,我们可以在命令行上使用一些“文件模式”,因为这些坏文件通常使用不同的文件扩展名

或者,因为我正在使用JavaSparkContext#newAPIHadoopFile(路径,…)从hdfs读取数据,所以我可以使用JavaSparkContext#newAPIHadoopFile(路径,…)执行任何技巧,以便它忽略坏文件


谢谢。

既然坏文件有不同的扩展名,为什么不直接用
hdfs://ns1/abc/20200101/*/*/filepattern*.goodextension
?@ernest_k,问题是这些好文件都没有扩展名。。。