有关Avro的schema介绍已经在 前一篇中给出了。本篇主要分析org.apache.avro.schema.java源码,以此深入了解schema。
#1. 抽象类Schema
schema是abstract class,并且继承自JsonProperties。
##Type
Schema.Type给出schema的类型:
/** The type of a schema. */
public enum Type {
RECORD, ENUM, ARRAY, MAP, UNION, FIXED, STRING, BYTES,
INT, LONG, FLOAT, DOUBLE, BOOLEAN, NULL;
private String name;
private Type() { this.name = this.name().toLowerCase(); }
public String getName(turn name;e}
};
##类图
primitive type所对应schema类均继承 Schema,如图: