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

布尔值 h​​asNext()

如果此文件中还有更多条目,则返回 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(字符串键,对象值)

设置给定名称的字段的值。