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进化

    当schema变化时 同样的数据,可以用老schema可以读取,也可以用新schema读取 schema进化分为4...

  • Avro JSON 序列化

    摘要 Schema究竟是什么,Avro和JSON的关系,Avro的序列化与反序列化,对象容器文件。 Schema究...

  • 安装问题

    AnalysisException: Invalid avro.schema.url: hdfs://quicks...

  • Kafka Connect:Schema Registry

    Schema Registry为元数据提供服务层。它为存储和检索Avro schema提供了RESTful接...

  • Kafka Rest API发送Avro格式消息

    Kafka Rest API发送Avro格式消息 Kafka Rest 及 Schema-Registry的部署本...

  • kafka avro 序列化

    kafka avro 序列化有多种实现方式: 使用 io.confluent 需要设置 schema Regist...

  • sink schema AVRO 发送代码

  • 将Avro数据转换为Parquet格式

    本文主要测试将Avro数据转换为Parquet格式的过程并查看 Parquet 文件的 schema 和元数据。 ...

  • Apache Avro

    Apache Avro是一个数据序列化框架,它通过定义json风格的schema文件来表示数据的格式 maven依...

  • avro(hdfs关联hive)

    简介 avro是一种固定格式(schema),以文件为单位的 数据序列化系统(类似加密解密) 支持二进制序列化方式...

网友评论

    本文标题:Avro让schema进化

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