Avro让schema进化

作者: 秋天的程序员 | 来源:发表于2018-07-12 11:17 被阅读0次

    当schema变化时

    同样的数据,可以用老schema可以读取,也可以用新schema读取

    schema进化分为4类

    • Backward 向下兼容 用新schema可以读取老数据,有些字段的数据没有,就用default值
    • Forward向上兼容 用老schema可以读取新数据,avro将忽略新加的字段
    • 全兼容 支持向上兼容,向下兼容
    • 不兼容

    编写Avro schema的建议

    • 设置你的主键是必须字段
    • 一定要为每个字段设置default值,防止将来可以删掉他们
    • 小心使用Enums
    • 不要重命名字段。你可以增加别名
    • 如果要修改schema,一定要记得加default值
    • 如果要修改schema,不要删掉必须字段

    相关文章

      网友评论

        本文标题:Avro让schema进化

        本文链接:https://www.haomeiwen.com/subject/szylpftx.html