java - Avro 枚举序列化

标签 java avro

如何在 avro 中序列化 java 枚举。

例子我有枚举-

enum color {

WHITE,RED,GREEN

}

avro 模式

{ 
  "type": "enum",
  "name": "Color",
  "symbols" : ["WHITE", "RED", "GREEN"]
}

应为 avro 序列化枚举实现哪个接口(interface)

最佳答案

要在 avro 中序列化枚举,它应该实现 GenericEnumSymbol 接口(interface)

注意:架构字段名称应为 SCHEMA$,因为 avro API 类 SpecifiedData 使用反射获取此字段 getDeclaredField("SCHEMA$")。

关于java - Avro 枚举序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37463646/

相关文章:

java - JasperReports 与 Java Bean : Failed to render image (the field of InputStream type)

hadoop - 在hadoop中选择文件格式

hadoop - Sqoop 以 avro 格式导入日期数据类型

text-files - Impala - 将现有表格转换为 Parquet 格式

nested - 嵌套 Avro 架构

java - 来自 Java 的 Dynamics CRM 2011 在线 Web 服务

java - 用java加载图像占用了我太多的资源..有什么方法可以让我的程序看起来很漂亮?

java - 尝试使用 maven 从命令行运行 Java7 Hello World 项目

java - 为什么要从类外访问 protected 成员?

java - Avro 1.9.0 无法编译生成的 java 代码,错误消息为 : cannot find symbol method customEncode(org. apache.avro.io.Encoder)