Avro架构:泛型类型列表

时间:2017-09-08 13:13:36

标签: java schema avro

这是Java等同于我在Avro中编写模式的内容:

abstract class Vehicle {}
class Bike extends Vehicle {}
class Car extends Vehicle {}
class Bus extends Vehicle {}

现在,我想要一个包含List车辆的文件,例如:

List<Vehicle> vehicles = ;

列表中的元素可以是Bike,Car或Bus。现在,将此与Avro架构进行比较,我可以看到Array type,所以我可能要编写类似这样的内容(对于Avro部分的绝望,我以前没有使用过它):

{
  "name" : "vehicles",
  "type" : "array",
  "items" : {
    "name" : "???"
  }
}

这是我可以去的,有没有办法指明这些物品可以是自行车,汽车还是公共汽车?

1 个答案:

答案 0 :(得分:1)

您是否尝试在项目中使用union

"items":["Bike","Car","Bus"]