Apache Parquet无法读取页脚:java.io.IOException:

Lav*_*ala 8 java io hadoop apache-spark parquet

我有一个在Cloudera VM上运行的SPARK项目.在我的项目中,我从镶木地板文件加载数据,然后处理这些数据.一切正常但问题是我需要在学校集群上运行这个项目但是在我在这部分代码中读取镶木地板文件时遇到了问题:

DataFrame schemaRDF = sqlContext.parquetFile("/var/tmp/graphs/sib200.parquet");
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

无法读取页脚:java.io.IOException:无法读取文件FileStatus的页脚{path = file:/var/tmp/graphs/sib200.parquet/_common_metadata; isDirectory = FALSE; 长度= 413; 复制= 0; 块大小= 0; MODIFICATION_TIME = 0; access_time = 0; 所有者=; 基团=; 权限= RW-RW-RW-; 在deck.hadoop.ParquetFileReader.readAllFootersInParallel(ParquetFileReader.java:248)中的isSymlink = false} org.apache.spark.sql.execution.datasources.parquet.ParquetRelation $$ anonfun $ 28.apply(ParquetRelation.scala:750)

基于在线搜索,它似乎是一个镶木地板版本的问题.

我想要的是告诉我如何在计算机中找到已安装的镶木地板版本,以检查两者是否具有相同的版本.或者另外,如果你知道这个错误的确切解决方案也将是完美的!

Sri*_*ini -1

您可以尝试 sqlContex.read.load 而不是 sqlContext.parquetFile 吗?

请参考以下链接。 http://spark.apache.org/docs/latest/sql-programming-guide.html#generic-loadsave-functions

如果有效,请尝试告诉我。如果没有,我们可以尝试其他方式。