有关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,如图:

com
本文深入探讨了Hadoop Avro中的Schema,分析了Schema的抽象类、Type、RecordSchema类以及Field类的详细结构。特别地,讨论了如何创建原生类型的Schema,RecordSchema的Name和Names概念,以及Field类中的属性和构造器。同时,解释了toString()方法在Schema和RecordSchema中的实现,该方法用于将Schema解析为JSON格式。
订阅专栏 解锁全文
8740

被折叠的 条评论
为什么被折叠?



