找出哪个文件负责异常

时间:2016-04-11 14:36:09

标签: scala hadoop apache-spark avro spark-avro

我在HDFS打开一堆文件(大约50个),如下所示:

val PATH = path_to_files
val FILE_PATH = "PATH+nt_uuid_2016-03-01.*1*.avro"
val df = sqlContext.read.avro(FILE_PATH)

然后我用df做了一堆操作,在某些时候我得到了:

java.io.IOException: Not an Avro data file
at org.apache.avro.file.DataFileReader.openReader(DataFileReader.java:50)
at org.apache.avro.mapred.AvroRecordReader.(AvroRecordReader.java:41)
at org.apache.avro.mapred.AvroInputFormat.getRecordReader(AvroInputFormat.java:71)
at org.apache.spark.rdd.HadoopRDD$$anon$1.(HadoopRDD.scala:237)
at org.apache.spark.rdd.HadoopRDD.compute(HadoopRDD.scala:208)
at org.apache.spark.rdd.HadoopRDD.compute(HadoopRDD.scala:101)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)

我怀疑其中一个文件可能存在问题,但我不知道哪一个。如果我与其中一个一起运行,则作业正确完成。

有没有办法捕捉异常并找出哪个是坏苹果?

0 个答案:

没有答案