内容简介:编辑 pom.xml 文件,添加依赖:Parquet 是结构化的文件结构,需要先定义 Schema。以定义Schema 支持的类型,定义在枚举
依赖
编辑 pom.xml 文件,添加依赖:
<dependency> <groupId>org.apache.parquet</groupId> <artifactId>parquet-avro</artifactId> <version>1.10.1</version> </dependency>
写入
Schema
Parquet 是结构化的文件结构,需要先定义 Schema。以定义 id long, name string
结构的 Schema 为例:
List<Schema.Field> fields = new ArrayList<>(2); fields.add(new Schema.Field("id", Schema.create(Schema.Type.LONG), "id", null)); fields.add(new Schema.Field("name", Schema.create(Schema.Type.STRING), "name", null)); Schema schema = Schema.createRecord(fields);
Schema 支持的类型,定义在枚举 org.apache.avro.Schema.Type
中:
public enum Type { RECORD, ENUM, ARRAY, MAP, UNION, FIXED, STRING, BYTES, INT, LONG, FLOAT, DOUBLE, BOOLEAN, NULL; private String name; private Type() { this.name = this.name().toLowerCase(Locale.ENGLISH); } public String getName() { return name; } }
其中, RECORD
、 ENUM
、 ARRAY
、 MAP
、 UNION
和 FIXED
是复合类型, STRING
、 BYTES
、 INT
、 LONG
、 FLOAT
、 BOOLEAN
和 NULL
是基本类型。
Writer
有了 Schema 之后,就可以写入文件了:
ParquetWriter<GenericData.Record> writer = AvroParquetWriter.<GenericData.Record>builder(path) .withSchema(schema) .build(); GenericData.Record record = new GenericData.Record(schema); record.put(0, 0); record.put(1, "this is a test."); writer.write(record); writer.close();
读取
ParquetReader<GenericData.Record> reader = AvroParquetReader.<GenericData.Record>builder(path).build(); GenericData.Record record = reader.read(); reader.close();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 一文读懂监督学习、无监督学习、半监督学习、强化学习这四种深度学习方式
- 学习:人工智能-机器学习-深度学习概念的区别
- 统计学习,机器学习与深度学习概念的关联与区别
- 混合学习环境下基于学习行为数据的学习预警系统设计与实现
- 学习如何学习
- 深度学习的学习历程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Structures and Algorithms
Alfred V. Aho、Jeffrey D. Ullman、John E. Hopcroft / Addison Wesley / 1983-1-11 / USD 74.20
The authors' treatment of data structures in Data Structures and Algorithms is unified by an informal notion of "abstract data types," allowing readers to compare different implementations of the same......一起来看看 《Data Structures and Algorithms》 这本书的介绍吧!