当前位置: 首页 > 知识库问答 >
问题:

火花拼花器读数误差

刘德义
2023-03-14

我在一个Spark项目上工作,这里我有一个文件是在parquet格式,当我试图用java加载这个文件时,它给了我下面的错误。但是,当我用相同的路径在hive中加载相同的文件并编写查询select*from table_name时,它工作得很好,数据也很正常。关于这个问题,请帮助我。

java.io.ioException:无法读取页脚:java.lang.runtimeException:损坏的文件:页脚索引不在org.apache.parquet.hadoop.parquetFileReader.readAllFootersinParallel(ParquetFileReader.java:247)在org.apache.spark.sql.execution.datasources.parquet.parquetRelation$$AnonFun$28处的文件中。在org.apache.spark.execution.datasources.parquet.parquetRelations he.spark.rdd.rdd$$anonfun$mappartitions$1$$anonfun$apply$17.applic(rdd.scala:710)在org.apache.spark.rdd.mappartitionsrdd.compute(mappartitionsrdd.scala:38)在org.apache.spark.rdd.rdd.rdd.rdd.computeorreadcheckpoint(rdd.scala:300)在.spark.scheduler.resulttask.runtask(resulttask.scala:66)在org.apache.spark.scheduler.task.run(task.scala:88)在org.apache.spark.executor.executor$t在java.util.concurrent.ThreadPoolExecutor.runworker(ThreadPoolExecutor.java:1145)在java.util.concurrent.ThreadPoolExecutor$worker.run(ThreadPoolExecutor.java:615)在java.lang.thread.run(ThreadPoolExecutor.java.java.java.java.java:745)由:java.lang.thread.run(ThreadPoolExecutor.java:745)引起:eader$2.在org.apache.parquet.hadoop.parquetFileReader.java:237)调用(parquetFileReader.java:233)在java.util.concurrent.futureTask.run(FutureTask.java:262)调用(parquetFileReader.java:232)

共有1个答案

扈昀
2023-03-14
You can try below options

1)  sqlContext.read.parquet("path") 

2) sqlContext.read.format(fileFormat)
.option("header", header) // Use first line of all files as header
.option("inferSchema", inferSchema) // Automatically infer data types
.load(source)

If your issue didn't resolved, please post the sample of code.
 类似资料:
  • 由于,我检查了一个spark作业的输出拼花文件,该作业总是会发出声音。我在Cloudera 5.13.1上使用了 我注意到拼花地板排的大小是不均匀的。第一排和最后一排的人很多。剩下的真的很小。。。 拼花地板工具的缩短输出,: 这是已知的臭虫吗?如何在Spark中设置拼花地板块大小(行组大小)? 编辑: Spark应用程序的作用是:它读取一个大的AVRO文件,然后通过两个分区键(使用

  • 我是Spark的新手。我尝试在本地模式(windows)下使用spark java将csv文件保存为parquet。我得到了这个错误。 原因:org.apache.spark.Spark异常:写入行时任务失败 我引用了其他线程并禁用了spark推测 set("spark.speculation "," false ") 我还是会出错。我在csv中只使用了两个专栏进行测试。 输入: 我的代码: 请帮

  • 正在尝试读取avro文件。 无法将运行到Avro架构的数据转换为Spark SQL StructType:[“null”,“string”] 尝试手动创建架构,但现在遇到以下情况: 通用域名格式。databricks。火花阿夫罗。SchemaConverters$CompatibleSchemaException:无法将Avro架构转换为catalyst类型,因为路径处的架构不兼容(avroTyp

  • 试图读取一个空的镶木地板目录,得到这个错误 无法指定拼花地板的架构。必须手动指定 我的代码 尝试处理scala尝试和定期检查空目录 任何想法

  • 我有一些Spark经验,但刚开始使用Cassandra。我正在尝试进行非常简单的阅读,但性能非常差——不知道为什么。这是我正在使用的代码: 所有3个参数都是表上键的一部分: 主键(group\u id,epoch,group\u name,auto\u generated\u uuid\u field),聚类顺序为(epoch ASC,group\u name ASC,auto\u generat

  • 我想过滤掉具有“c2”列前3个字符的记录,无论是“MSL”还是“HCP”。 所以输出应该如下所示。 有谁能帮忙吗? 我知道df。过滤器($c2.rlike(“MSL”))--用于选择记录,但如何排除记录? 版本:Spark 1.6.2 Scala:2.10