- AVRO Schemas & APIs
- AVRO - Schemas
- AVRO - Reference API
- AVRO By Generating a Class
- Serialization by Generating Class
- Deserialization by Generating Class
- AVRO Using Parsers Library
- Serialization Using Parsers
- Deserialization Using Parsers
- AVRO Useful Resources
- AVRO - Quick Guide
- AVRO - Useful Resources
- AVRO - Discussion
AVRO - 参考 API
在上一章中,我们描述了Avro的输入类型,即Avro schemas。在本章中,我们将解释 Avro 模式的序列化和反序列化中使用的类和方法。
SpecificDatumWriter 类
该类属于包org.apache.avro.specific。它实现了DatumWriter接口,该接口将 Java 对象转换为内存中的序列化格式。
构造函数
编号 | 描述 |
---|---|
1 | SpecificDatumWriter(Schema 架构) |
方法
编号 | 描述 |
---|---|
1 | 具体数据 getSpecificData() 返回此编写器使用的 SpecificData 实现。 |
SpecificDatumReader 类
该类属于包org.apache.avro.specific。它实现了DatumReader接口,该接口读取模式的数据并确定内存中的数据表示。SpecificDatumReader是支持生成的 java 类的类。
构造函数
编号 | 描述 |
---|---|
1 | SpecificDatumReader(Schema 架构) 构建作者和读者的模式相同的地方。 |
方法
编号 | 描述 |
---|---|
1 | 具体数据 getSpecificData() 返回包含的特定数据。 |
2 | void setSchema(实际架构) 该方法用于设置作者的模式。 |
数据文件写入器
实例化emp类的DataFileWrite。此类写入符合模式的序列化数据记录以及文件中的模式。
构造函数
编号 | 描述 |
---|---|
1 | DataFileWriter(DatumWriter<D> dout) |
方法
序列号 | 描述 |
---|---|
1 | 无效追加(D 数据) 将数据附加到文件。 |
2 | DataFileWriter<D>appendTo(文件文件) 此方法用于打开附加到现有文件的编写器。 |
数据文件读取器
此类提供对使用DataFileWriter写入的文件的随机访问。它继承类DataFileStream。
构造函数
编号 | 描述 |
---|---|
1 | DataFileReader(文件文件, DatumReader<D> 阅读器)) |
方法
编号 | 描述 |
---|---|
1 | 下一个() 读取文件中的下一个数据。 |
2 | 布尔值 hasNext() 如果此文件中还有更多条目,则返回 true。 |
类 Schema.parser
此类是 JSON 格式模式的解析器。它包含解析模式的方法。它属于org.apache.avro包。
构造函数
编号 | 描述 |
---|---|
1 | 模式解析器() |
方法
编号 | 描述 |
---|---|
1 | 解析(文件文件) 解析给定文件中提供的架构。 |
2 | 解析(输入流中) 解析给定InputStream中提供的架构。 |
3 | 解析(字符串) 解析给定String中提供的架构。 |
通用记录接口
该接口提供了按名称和索引访问字段的方法。
方法
编号 | 描述 |
---|---|
1 | 对象获取(字符串键) 返回给定字段的值。 |
2 | void put(字符串键, 对象 v) 设置给定名称的字段的值。 |
类 GenericData.Record
构造函数
编号 | 描述 |
---|---|
1 | GenericData.Record(模式架构) |
方法
编号 | 描述 |
---|---|
1 | 对象获取(字符串键) 返回给定名称的字段的值。 |
2 | 架构 getSchema() 返回此实例的架构。 |
3 | void put(int i, 对象 v) 根据给定字段在架构中的位置设置字段的值。 |
4 | void put(字符串键,对象值) 设置给定名称的字段的值。 |