avro - 空列表作为AVRO数组中的默认值

标签 avro

我在Schema.avdl中拥有的内容:

array<string> names = null;

现在,我希望使用默认值而不是null来作为一个空数组,所以我尝试并失败了:
array<string> names = []; and array<string> names = {};

有人可以告诉我如何将一个空列表作为默认值吗?

谢谢你。

最佳答案

我不确定这是否对您有直接帮助,但是在avro模式声明(.avsc)中,您可以编写以下内容:

{
 "type": "record",
 "namespace": "my.avro.schemas",
 "name": "Schema",
 "fields": [
    {"name": "string_arr", "type": {"type": "array", "items": "string"}, "default": []}
 ]
}

请注意,“默认”字段定义是一个空的json数组。默认情况下,使用已解析的Avro Schema类的构建器将在“string_arr”字段中填充一个空数组。

关于avro - 空列表作为AVRO数组中的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41565881/

相关文章:

java - Avro 是否处理 UUID 或 java.util.Date?

json - 如何创建 Avro 架构?

avro - 到目前为止,Apache Avro 中代码日期字段的最佳实践是什么?

hadoop - 有没有一种简单的方法可以从 SequenceFiles 迁移到 Avro?

go - 提取 avro 架构

java - 使用 Avro java api 动态插入枚举符号

java - 如何从Java读取avro?

java - 如何解决Kafka Avro反序列化问题

java - 是否可以将运行时未知的 Avro 消息转换为特定的 Java 类

arrays - 如何使用数据类型为array <struct <int >>的列插入Hive表