我在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)
我怀疑其中一个文件可能有问题,但我不知道是哪一个。如果我与其中一个一起运行,作业将正确完成。
有没有办法捕捉异常并找出哪个是坏苹果?
暂无答案!
目前还没有任何答案,快来回答吧!