AVRO - 参考 API

在上一章中,我们描述了 Avro 的输入类型,即 Avro 模式。在本章中,我们将解释 Avro 模式序列化和反序列化中使用的类和方法。

SpecificDatumWriter 类

此类属于 org.apache.avro.specific 包。它实现了 DatumWriter 接口,该接口将 Java 对象转换为内存中的序列化格式。

构造函数

S.No. 说明
1 SpecificDatumWriter(Schema schema)

方法

S.No. 说明
1

SpecificData getSpecificData()

返回此编写器使用的 SpecificData 实现。

SpecificDatumReader 类

此类属于 org.apache.avro.specific 包。它实现了 DatumReader 接口,该接口读取架构的数据并确定内存中的数据表示。 SpecificDatumReader 是支持生成的 Java 类的类。

构造函数

S.No. 说明
1

SpecificDatumReader(Schema schema)

构造其中写入器和读取器的架构相同。

方法

S.No. 描述
1

SpecificData getSpecificData()

返回所包含的 SpecificData。

2

void setSchema(Schema actual)

此方法用于设置写入器的架构。

DataFileWriter

emp 类实例化 DataFileWrite。此类将符合架构的序列化数据记录与文件中的架构一起写入。

构造函数

S.No. 说明
1 DataFileWriter(DatumWriter<D> dout)

方法

S.No 说明
1

void append(D datum)

将数据附加到文件。

2

DataFileWriter<D> appendTo(File file)

此方法用于打开附加到现有文件的写入器。

Data FileReader

此类提供对使用 DataFileWriter 写入的文件的随机访问。它继承了类DataFileStream

构造函数

S.No. 说明
1 DataFileReader(File file, 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)

解析给定的架构file

2

parse (InputStream in)

解析给定 InputStream 中提供的架构。

3

parse (String s)

解析给定 String 中提供的架构。

GenricRecord 接口

此接口提供按名称和索引访问字段的方法。

方法

S.No. 说明
1

Object get(String key)

返回给定字段的值。

2

void put(String key, Object v)

根据字段名称设置字段的值。

Class GenericData.Record

构造函数

S.No. 说明
1 GenericData.Record(Schema schema)

方法

S.No. 说明
1

Object get(String key)

返回给定名称的字段的值。

2

Schema getSchema()

返回此的架构实例。

3

void put(int i, Object v)

根据字段在架构中的位置设置字段的值。

4

void put(String key, Object value)

根据字段的名称设置字段的值。