Avro让schema进化

当schema变化时

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

schema进化分为4类

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

编写Avro schema的建议

  • 设置你的主键是必须字段
  • 一定要为每个字段设置default值,防止将来可以删掉他们
  • 小心使用Enums
  • 不要重命名字段。你可以增加别名
  • 如果要修改schema,一定要记得加default值
  • 如果要修改schema,不要删掉必须字段
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一天穿上军训服,我很激动,也很好奇。军训到底是什么样子呢 军训很累,但是确实增强了体质,让我们得到了很好的锻炼,...
    夏天的小树苗阅读 3,349评论 0 2
  • 点击看上一章 “你好!这次我并不知道你能不能听到我说话,不过我真的希望你能够听到。我目前对于我怎么出现在那里和这里...
    V之日志阅读 2,958评论 5 6
  • 文~二嬷嬷 爱情无关金钱与时间,而是两人愿意携手走完余生。 1. 肖雅是我的同学,29岁的她,开始对自己的人生有...
    二嬷嬷阅读 3,535评论 1 5

友情链接更多精彩内容