📅  最后修改于: 2020-12-02 05:25:49             🧑  作者: Mango
在上一章中,我们描述了Avro的输入类型,即Avro模式。在本章中,我们将说明在Avro模式的序列化和反序列化中使用的类和方法。
此类属于包org.apache.avro.specific 。它实现了DatumWriter接口,该接口将Java对象转换为内存中的序列化格式。
S.No. | Description |
---|---|
1 | SpecificDatumWriter(Schema schema) |
S.No. | Description |
---|---|
1 |
SpecificData getSpecificData() Returns the SpecificData implementation used by this writer. |
此类属于包org.apache.avro.specific 。它实现了DatumReader接口,该接口读取模式的数据并确定内存中的数据表示形式。 SpecificDatumReader是支持生成的Java类的类。
S.No. | Description |
---|---|
1 |
SpecificDatumReader(Schema schema) Construct where the writer’s and reader’s schemas are the same. |
S.No. | Description |
---|---|
1 |
SpecificData getSpecificData() Returns the contained SpecificData. |
2 |
void setSchema(Schema actual) This method is used to set the writer’s schema. |
为emp类实例化DataFileWrite 。此类编写符合模式的序列化序列记录数据以及文件中的模式。
S.No. | Description |
---|---|
1 | DataFileWriter(DatumWriter |
S.No | Description |
---|---|
1 |
void append(D datum) Appends a datum to a file. |
2 |
DataFileWriter This method is used to open a writer appending to an existing file. |
此类提供对使用DataFileWriter编写的文件的随机访问。它继承了DataFileStream类。
S.No. | Description |
---|---|
1 | DataFileReader(File file, DatumReader |
S.No. | Description |
---|---|
1 |
next() Reads the next datum in the file. |
2 |
Boolean hasNext() Returns true if more entries remain in this file. |
此类是JSON格式架构的解析器。它包含解析架构的方法。它属于org.apache.avro软件包。
S.No. | Description |
---|---|
1 | Schema.Parser() |
S.No. | Description |
---|---|
1 |
parse (File file) Parses the schema provided in the given file. |
2 |
parse (InputStream in) Parses the schema provided in the given InputStream. |
3 |
parse (String s) Parses the schema provided in the given String. |
该接口提供了按名称和索引访问字段的方法。
S.No. | Description |
---|---|
1 |
Object get(String key) Returns the value of a field given. |
2 |
void put(String key, Object v) Sets the value of a field given its name. |
S.No. | Description |
---|---|
1 | GenericData.Record(Schema schema) |
S.No. | Description |
---|---|
1 |
Object get(String key) Returns the value of a field of the given name. |
2 |
Schema getSchema() Returns the schema of this instance. |
3 |
void put(int i, Object v) Sets the value of a field given its position in the schema. |
4 |
void put(String key, Object value) Sets the value of a field given its name. |