博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
parquet文件的一些操作
阅读量:6417 次
发布时间:2019-06-23

本文共 1949 字,大约阅读时间需要 6 分钟。

/**  * 获取schema信息  * @throws IOException  */ @Test public void testGetSchema() throws IOException {
Configuration configuration = new Configuration(true); configuration.set("fs.defaultFS","hdfs://10.0.1.xx:9000"); ParquetMetadata readFooter = null; Path parquetFilePath = new Path("/user/yanglei/parquet/douban.parquet"); readFooter = ParquetFileReader.readFooter(configuration, parquetFilePath, ParquetMetadataConverter.NO_FILTER); MessageType schema =readFooter.getFileMetaData().getSchema(); System.out.println(schema.toString()); } public static final MessageType FILE_SCHEMA = Types.buildMessage() .required(PrimitiveType.PrimitiveTypeName.BINARY).named("user_name") .required(PrimitiveType.PrimitiveTypeName.INT64).named("bookid") .required(PrimitiveType.PrimitiveTypeName.INT32).named("bookscore") .named("douban"); /** * 写parquet文件 * @throws Exception */ @Test public void testWriteParquet() throws Exception {
Configuration conf = new Configuration(true); conf.set("fs.defaultFS","hdfs://10.0.1.xx:9000"); String file = "/user/yanglei/parquet/douban.parquet"; Path path = new Path(file); FileSystem fs = path.getFileSystem(conf); if (fs.exists(path)) {
fs.delete(path, true); } GroupWriteSupport.setSchema(FILE_SCHEMA, conf); SimpleGroupFactory f = new SimpleGroupFactory(FILE_SCHEMA); ParquetWriter
writer = new ParquetWriter<>(path, new GroupWriteSupport(), CompressionCodecName.GZIP, 1024, 1024, 512, true, false, ParquetProperties.WriterVersion.PARQUET_2_0, conf); for (int i = 0; i < 1000; i++) {
writer.write( f.newGroup() .append("user_name", String.valueOf(i)) .append("bookid", 64l) .append("bookscore",i)); } writer.close(); }

转载于:https://www.cnblogs.com/ylcoder/p/6417744.html

你可能感兴趣的文章
MySQL事务处理
查看>>
Android Audio代码分析18 - setSampleRate函数
查看>>
Servlet 手记
查看>>
单例的若干实现总结与拓展
查看>>
ModelSim 使用笔记1
查看>>
搭建多点触控模拟环境
查看>>
Linux(centos)的常用基本命令
查看>>
编写综合的单元测试
查看>>
Sql Server中的表组织和索引组织(聚集索引结构,非聚集索引结构,堆结构)
查看>>
Spring Mobile 1.0发布
查看>>
C#中使用WinIO模拟键盘鼠标(转)
查看>>
SQL 分页显示
查看>>
在java中使用sax解析xml
查看>>
oracle database character set
查看>>
eclipse部署web项目至本地的tomcat但在webapps中找不到
查看>>
提高程序运行效率的10个简单方法
查看>>
C# DllImport用法和路径问题
查看>>
Ubuntu 脚本笔记
查看>>
.net Mvc文件下载的功能,大文件下载完成之后修改数据库功能
查看>>
Android -- 保存文件
查看>>