AVRO – 参考 API
AVRO – 参考 API
在上一章中,我们描述了 Avro 的输入类型,即 Avro schemas。在本章中,我们将解释 Avro 模式的序列化和反序列化中使用的类和方法。
特定数据写入器类
此类属于包org.apache.avro.specific。它实现了DatumWriter接口,该接口将 Java 对象转换为内存中的序列化格式。
构造函数
S.No. | 描述 |
---|---|
1 | 特定数据写入器(架构模式) |
方法
S.No. | 描述 |
---|---|
1 |
SpecificData getSpecificData() 返回此编写器使用的特定数据实现。 |
特定数据读取器类
此类属于包org.apache.avro.specific。它实现了DatumReader接口,该接口读取模式的数据并确定内存中的数据表示。SpecificDatumReader是支持生成的 java 类的类。
构造函数
S.No. | 描述 |
---|---|
1 |
SpecificDatumReader(Schema schema) 构造作者和读者的模式相同的地方。 |
方法
S.No. | 描述 |
---|---|
1 |
SpecificData getSpecificData() 返回包含的特定数据。 |
2 |
void setSchema(Schema actual) 此方法用于设置作者的模式。 |
数据文件写入器
为emp类实例化DataFileWrite。此类将符合模式的数据序列化记录与文件中的模式一起写入序列。
构造函数
S.No. | 描述 |
---|---|
1 | DataFileWriter(DatumWriter<D> dout) |
方法
S.No | 描述 |
---|---|
1 |
void append(D datum) 将数据附加到文件。 |
2 |
DataFileWriter<D> appendTo(File file) 此方法用于打开附加到现有文件的编写器。 |
数据文件阅读器
此类提供对使用DataFileWriter编写的文件的随机访问。它继承了类DataFileStream。
构造函数
S.No. | 描述 |
---|---|
1 | DataFileReader(文件文件, DatumReader<D> reader)) |
方法
S.No. | 描述 |
---|---|
1 |
next() 读取文件中的下一个数据。 |
2 |
Boolean hasNext() 如果此文件中还有更多条目,则返回 true。 |
类 Schema.parser
此类是 JSON 格式模式的解析器。它包含解析模式的方法。它属于org.apache.avro包。
构造函数
S.No. | 描述 |
---|---|
1 | Schema.Parser() |
方法
S.No. | 描述 |
---|---|
1 |
parse (File file) 解析给定文件中提供的模式。 |
2 |
parse (InputStream in) 解析给定InputStream 中提供的模式。 |
3 |
parse (String s) 解析给定String 中提供的架构。 |
接口通用记录
此接口提供按名称和索引访问字段的方法。
方法
S.No. | 描述 |
---|---|
1 |
Object get(String key) 返回给定字段的值。 |
2 |
void put(String key, Object v) 根据名称设置字段的值。 |
类 GenericData.Record
构造函数
S.No. | 描述 |
---|---|
1 | GenericData.Record(架构模式) |
方法
S.No. | 描述 |
---|---|
1 |
Object get(String key) 返回给定名称的字段的值。 |
2 |
Schema getSchema() 返回此实例的架构。 |
3 |
void put(int i, Object v) 给定字段在模式中的位置,设置字段的值。 |
4 |
void put(String key, Object value) 根据名称设置字段的值。 |