java - 如何在 avro 模式中创建包含字符串数组的对象?

标签 java arrays maven avro

用字符串数组为对象创建 avro 模式的正确方法是什么?

我正在尝试根据官方文档为具有字符串数组的对象创建 avro 模式?但我得到错误。

https://avro.apache.org/docs/1.8.1/spec.html

[错误] 无法在项目电子邮件上执行目标 org.apache.avro:avro-maven-plugin:1.8.2:schema(默认):目标 org.apache.avro:avro-maven-plugin 的执行默认值: 1.8.2:模式失败:“数组”不是定义的名称。 “参数”字段的类型必须是定义的名称或 {"type": ...} 表达式。 -> [帮助1]

为什么我的架构不正确?

[
  {
    "type": "record",
    "namespace": "com.example",
    "name": "Topic",
    "fields": [
         { "name": "subject", "type": "string" },
         { "name": "parameters", "type": "array", "items": "string" }
    ]    
  }

]

最佳答案

认为这应该可行:

{ 
  "name":"parameters",  
  "type": { 
      "type": "array",
      "items": "string"
   } 
} 

关于java - 如何在 avro 模式中创建包含字符串数组的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54093898/

相关文章:

java - 如何使用java比较数组列表中的名称

php - 在 foreach 循环中为二维数组赋值

javascript - 如何通过 AJAX 发送 PHP 数组?

java - 为 DS-2542(XOAI 日期粒度)修补 Dspace 不会导致行为发生变化

eclipse - 插件错误: execution not covered by lifecycle configuration

java - “管道未连接”到 Java Callable 子节点

Java服务器安卓客户端

python - 查找最大值的递归函数返回 0

java - 如何在没有maven依赖的情况下使用Mockito

java - CompareTo 方法(在 Comparable 接口(interface)中)是递归的吗?