如何在独立的 Java 代码中读取镶木地板文件? [关闭]
Posted
技术标签:
【中文标题】如何在独立的 Java 代码中读取镶木地板文件? [关闭]【英文标题】:how to read a parquet file, in a standalone java code? [closed] 【发布时间】:2015-04-21 08:05:14 【问题描述】:cloudera 的 parquet 文档展示了与 pig/hive/impala 集成的示例。但在许多情况下,我想读取 parquet 文件本身以进行调试。
是否有一个简单的 java reader api 来读取 parquet 文件?
谢谢 杨
【问题讨论】:
这不是一个直接的答案,但是您可能会通过 parquet-tools 项目获得一些运气,该项目公开了一个命令行工具来读取 Parquet 文件并查看您可以从自己的 Java 调用什么应用。 github.com/apache/incubator-parquet-mr/tree/master/… 相关:***.com/questions/30565510/… @JeremyBeard 该仓库截至 1/17 为空 How to Generate Parquet File Using Pure Java (Including Date & Decimal Types) And Upload to S3 [Windows]的可能重复 【参考方案1】:旧方法:(已弃用)
AvroParquetReader<GenericRecord> reader = new AvroParquetReader<GenericRecord>(file);
GenericRecord nextRecord = reader.read();
新方法:
ParquetReader<GenericRecord> reader = AvroParquetReader.<GenericRecord>builder(file).build();
GenericRecord nextRecord = reader.read();
我从here 得到了这个,并成功地在我的测试用例中使用了这个。
【讨论】:
这对我不起作用 - 我只得到原因:java.lang.ClassCastException:您可以使用 parquet-avro 库中的 AvroParquetReader
将 parquet 文件作为一组 AVRO GenericRecord
对象读取。
【讨论】:
或特定的(为了速度)。以上是关于如何在独立的 Java 代码中读取镶木地板文件? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在读取前根据定义的模式读取 pyspark 中的镶木地板文件?