java - Avro 架构 : List of generic types

标签 java schema avro

这是我在 Avro 中尝试编写架构的 Java 等效项:

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

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

List<Vehicle> vehicles = ;

列表中的元素可以是自行车、汽车或公共(public)汽车。现在,将其与 Avro 架构进行比较,我可以看到 Array type所以我可能不得不写这样的东西(很抱歉 Avro 部分的绝望,我以前没有使用过它):

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

这是我所能做到的,有什么方法可以指定这些项目可以是自行车、汽车或公共(public)汽车之一?

最佳答案

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

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

关于java - Avro 架构 : List of generic types,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46117362/

相关文章:

java - 如何在JSP中使用空键获取Map值

java - 找不到符号 : . getRuntime()

sql-server - 使用单独架构上的 View 时,“对象的 SELECT 权限被拒绝”

c# - 评论的MongoDB文档设计(及其回复评论)

c# - Apache Avro for c# vs Microsoft.Avro.Core

Python - 为 csv/xls 文件生成 avro 模式

java - org.springframework.web.client.HttpClientErrorException : 400 null

使用 JSR 303/380 定制 Java bean 级联验证

database-design - 你如何在关系数据库中存储一个 trie?

json - Apache Nifi - 从 Avro 中提取属性