【问题标题】:Avro / Schema Registry - Make new field that is non-nullable / requiredAvro / Schema Registry - 创建不可为空/必需的新字段
【发布时间】:2020-05-05 20:44:08
【问题描述】:

我开始使用 Avro / Confluent 的架构注册表和 .avsc 文件,并希望在架构中添加一个新字段。

旧的架构是这样的,例如:

{
  "name": ...
  "fields": [
    {"name": "one", "type": "string"}
  ]
}

我想把它改成:


{
  "one": string,
  "two": string,
}

当尝试发展架构时,如何使two 字段成为必需/不可为空?因为我必须为其添加一个default 值,所以它始终可以是其中一个。

编辑

值得指出的是,我正在使用 Confluent 的 Schema Registry 并尝试 Evolve a Schema!

【问题讨论】:

    标签: avro confluent-platform confluent-schema-registry


    【解决方案1】:

    我想我刚刚解决了自己的问题。供将来参考:

    使用 Compatibility: BACKWARDS 时无法设置绝对必填字段,这显然会破坏架构的其余部分。

    所以我想这个问题的答案是将其设置为 NONE(在我的情况下)。

    任何其他有见解的答案都会有所帮助,但我现在要采用这个解决方案!

    【讨论】:

      猜你喜欢
      • 2019-06-07
      • 1970-01-01
      • 2019-12-21
      • 2018-09-27
      • 2017-10-06
      • 2020-08-02
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多