在通过Spark数据帧读取实木复合地板文件时出现异常。
sqlContext.read.parquet("parquet_location");
例外是
Caused by: java.lang.RuntimeException: ... is not a Parquet file (too small) at parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:413)
at parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:386)
at parquet.hadoop.ParquetRecordReader.initializeInternalReader(ParquetRecordReader.java:162)
at parquet.hadoop.ParquetRecordReader.initialize(ParquetRecordReader.java:145)
at org.apache.spark.rdd.SqlNewHadoopRDD$$anon$1.<init>(SqlNewHadoopRDD.scala:180)
at org.apache.spark.rdd.SqlNewHadoopRDD.compute(SqlNewHadoopRDD.scala:126)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
在hdfs位置“ parquet_location”中具有两个.parquet文件。 一个文件包含数据,而另一个文件似乎为空。
由于此文件为空,因此出现此异常。
是否有解决此问题的方法?
请提出建议。
火花版本:1.6.0
谢谢