parquet java_Apache Parquet Java API的文档?
我写了一篇关于阅读镶木地板文件的博客文章(
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的文档?相关推荐
- Java API帮助文档怎么查找?
[1]打开官方帮助文档(英文):Java SE API 和文档 这里选择官方网站 打开之后,是这样婶儿的 [2]选择合适的版本:这里选择Java 8 [3]打开Java API 主页面 如何查找自己想 ...
- 各种Java API帮助文档下载
声明:此文章是转载javaeye 中CaptainCook的文章 java api 英文chm下载 Java API Docs是学习和使用Java语言中最经常使用的参考资料之一,完整的Java API ...
- java api帮助文档_JAVA的Swagger界面丑、功能弱怎么破?
在做CRMEB-JAVA开源商城系统时,我们团队用到了uni-app,也是时下比较流行的移动端开发技术,这里边就牵扯到了前后端全部分离的问题,一般在使用java开发前后端分离项目的时候,都会用到Swa ...
- Elastic Search Java API(文档操作API、Query DSL查询API)、es搜索引擎实战demo
elastic search实战小demo:https://github.com/simonsfan/springboot-quartz-demo,分支:feature_es 之前在 Elastic ...
- IntelliJ IDEA设置查看Java API帮助文档
点击查看源码,可以根据IntelliJ IDEA提示下载和关联Java源码,源码中有注释,但是看起来不是很方便. 可以设置把鼠标放在类或方法等上面,自动展示对应的帮助文档信息. 1.File -> ...
- java api 帮助文档 chm 1.5 1.6 中文版英文版.
Sun 公司提供的Java API Docs是学习和使用Java语言中最经常使用的参考资料之一.但是长期以来此文档只有英文版,对于中国地区的Java开发者来说相当的不便.目前Sun 公司正在组织多方力 ...
- java API 在线文档
链接为:https://docs.oracle.com/en/java/javase/16/docs/api/index.html
- Java api帮助文档在线网站 中英文
中文在线网站: http://www.matools.com/api/java8 英文在线网站: http://tool.oschina.net/apidocs/api
- dita文档_使用DITADoclet和DITA API专业化生成DITA Java™API参考文档
dita文档 2009年12月11日修订说明:在" 目标"和" 安装org.dita.dost插件 "标题下添加了两个指向可下载资源的链接. 2014年3月7日 ...
最新文章
- Android端访问服务器核心代码
- 将数据文件附加到数据库
- ADO.NET连接字符串
- 10.15 sed 命令实践
- 音视频技术开发周刊 58期
- 提交页面插入到数据库2.jsp
- P3733 [HAOI2017]八纵八横(线性基/线段树分治)
- Spring 3.1缓存和配置
- 前端学习(1936)vue之电商管理系统电商系统之再关闭对话框defkeys
- Web框架——Flask系列之Flask-SQLAlchemy安装与使用 定义数据模型(八)
- 关于Python的趋势都在这了, Python官方年度报告中文版
- 27 CO配置-控制-产品成本控制-成本对象控制-期末结算-定义评估方法(实际成本)
- 如何找到需要的rpm包
- WINDOWS之入侵痕迹清理总结
- Spring Cloud教程 (二)应用程序上下文服务层次结构
- POJ_2478 Farey Sequence 【欧拉函数+简单递推】
- Oracle中rownum用法总结
- Atitit 异常处理之道 attilax著.docx 1. 概念	2 1.1. 异常机制的设计原理	2 1.2. Atitit.异常机制的设计原理.docx java	2 1.3. JVM看Exc
- JAVA VM(HotSpot)
- 跌破150美元、市值蒸发3600亿美元,这个圣诞节苹果过得“太冷了”!