我写了一篇关于阅读镶木地板文件的博客文章(

http://www.jofre.de/?p=1459),并提出了以下解决方案,甚至能够读取INT96字段.

您需要以下maven依赖项:

org.apache.parquet

parquet-hadoop

1.9.0

org.apache.hadoop

hadoop-common

2.7.0

代码基本上是:

public class Main {

private static Path path = new Path("file:\\C:\\Users\\file.snappy.parquet");

private static void printGroup(Group g) {

int fieldCount = g.getType().getFieldCount();

for (int field = 0; field < fieldCount; field++) {

int valueCount = g.getFieldRepetitionCount(field);

Type fieldType = g.getType().getType(field);

String fieldName = fieldType.getName();

for (int index = 0; index < valueCount; index++) {

if (fieldType.isPrimitive()) {

System.out.println(fieldName + " " + g.getValueToString(field, index));

}

}

}

}

public static void main(String[] args) throws IllegalArgumentException {

Configuration conf = new Configuration();

try {

ParquetMetadata readFooter = ParquetFileReader.readFooter(conf, path, ParquetMetadataConverter.NO_FILTER);

MessageType schema = readFooter.getFileMetaData().getSchema();

ParquetFileReader r = new ParquetFileReader(conf, path, readFooter);

PageReadStore pages = null;

try {

while (null != (pages = r.readNextRowGroup())) {

final long rows = pages.getRowCount();

System.out.println("Number of rows: " + rows);

final MessageColumnIO columnIO = new ColumnIOFactory().getColumnIO(schema);

final RecordReader recordReader = columnIO.getRecordReader(pages, new GroupRecordConverter(schema));

for (int i = 0; i < rows; i++) {

final Group g = recordReader.read();

printGroup(g);

// TODO Compare to System.out.println(g);

}

}

} finally {

r.close();

}

} catch (IOException e) {

System.out.println("Error reading parquet file.");

e.printStackTrace();

}

}

}

parquet java_Apache Parquet Java API的文档?相关推荐

  1. Java API帮助文档怎么查找?

    [1]打开官方帮助文档(英文):Java SE API 和文档 这里选择官方网站 打开之后,是这样婶儿的 [2]选择合适的版本:这里选择Java 8 [3]打开Java API 主页面 如何查找自己想 ...

  2. 各种Java API帮助文档下载

    声明:此文章是转载javaeye 中CaptainCook的文章 java api 英文chm下载 Java API Docs是学习和使用Java语言中最经常使用的参考资料之一,完整的Java API ...

  3. java api帮助文档_JAVA的Swagger界面丑、功能弱怎么破?

    在做CRMEB-JAVA开源商城系统时,我们团队用到了uni-app,也是时下比较流行的移动端开发技术,这里边就牵扯到了前后端全部分离的问题,一般在使用java开发前后端分离项目的时候,都会用到Swa ...

  4. Elastic Search Java API(文档操作API、Query DSL查询API)、es搜索引擎实战demo

    elastic search实战小demo:https://github.com/simonsfan/springboot-quartz-demo,分支:feature_es 之前在 Elastic ...

  5. IntelliJ IDEA设置查看Java API帮助文档

    点击查看源码,可以根据IntelliJ IDEA提示下载和关联Java源码,源码中有注释,但是看起来不是很方便. 可以设置把鼠标放在类或方法等上面,自动展示对应的帮助文档信息. 1.File -> ...

  6. java api 帮助文档 chm 1.5 1.6 中文版英文版.

    Sun 公司提供的Java API Docs是学习和使用Java语言中最经常使用的参考资料之一.但是长期以来此文档只有英文版,对于中国地区的Java开发者来说相当的不便.目前Sun 公司正在组织多方力 ...

  7. java API 在线文档

    链接为:https://docs.oracle.com/en/java/javase/16/docs/api/index.html

  8. Java api帮助文档在线网站 中英文

    中文在线网站: http://www.matools.com/api/java8 英文在线网站: http://tool.oschina.net/apidocs/api

  9. dita文档_使用DITADoclet和DITA API专业化生成DITA Java™API参考文档

    dita文档 2009年12月11日修订说明:在" 目标"和" 安装org.dita.dost插件 "标题下添加了两个指向可下载资源的链接. 2014年3月7日 ...

最新文章

  1. Android端访问服务器核心代码
  2. 将数据文件附加到数据库
  3. ADO.NET连接字符串
  4. 10.15 sed 命令实践
  5. 音视频技术开发周刊 58期
  6. 提交页面插入到数据库2.jsp
  7. P3733 [HAOI2017]八纵八横(线性基/线段树分治)
  8. Spring 3.1缓存和配置
  9. 前端学习(1936)vue之电商管理系统电商系统之再关闭对话框defkeys
  10. Web框架——Flask系列之Flask-SQLAlchemy安装与使用 定义数据模型(八)
  11. 关于Python的趋势都在这了, Python官方年度报告中文版
  12. 27 CO配置-控制-产品成本控制-成本对象控制-期末结算-定义评估方法(实际成本)
  13. 如何找到需要的rpm包
  14. WINDOWS之入侵痕迹清理总结
  15. Spring Cloud教程 (二)应用程序上下文服务层次结构
  16. POJ_2478 Farey Sequence 【欧拉函数+简单递推】
  17. Oracle中rownum用法总结
  18. Atitit 异常处理之道 attilax著.docx 1. 概念 2 1.1. 异常机制的设计原理 2 1.2. Atitit.异常机制的设计原理.docx java 2 1.3. JVM看Exc
  19. JAVA VM(HotSpot)
  20. 跌破150美元、市值蒸发3600亿美元,这个圣诞节苹果过得“太冷了”!

热门文章

  1. 数据结构之二叉搜索树(BST)
  2. 熬了几个大夜,学完一套985博士总结的OpenCV学习笔记(20G高清/PPT/代码)
  3. 从入门到放弃心得 | 我为什么弃用GAN?
  4. PyTorch中模型的可复现性
  5. 4个计算机视觉领域用作迁移学习的模型
  6. 第二篇:n-gram 语言模型
  7. 小目标 | DAX高级实践-Power BI与Excel联合应用
  8. git for c#, clone方法
  9. 微信小程序把玩(四)应用生命周期
  10. eclipse, Log4j配置(真心的详细~)