Apache Avro规范:可选编解码器支持是否影响阅读器合规性?
Avro阅读器合规性问题解答
答案是完全可以宣称符合Avro 1.10.2规范,但要注意一个细节:你得明确告知使用者,你的阅读器不支持bzip2、snappy、xz、zstandard这类可选编解码器。
Avro 1.10.2的对象容器文件章节里明确做了区分:
- 所有合规的Avro阅读器必须支持的是
null(无压缩)和deflate这两个必填编解码器 - bzip2、snappy、xz、zstandard都属于可选编解码器,规范并没有强制要求实现它们
换句话说,只要你的阅读器完整实现了null和deflate的解码逻辑,就算跳过那些可选编解码器,也满足规范的核心要求,完全可以宣称合规。不过有个小建议:当遇到用这些可选编压缩的Avro文件时,你的阅读器最好给出明确的错误提示,告诉用户“不支持该编解码器”,而不是直接崩溃或者出现莫名其妙的问题。
内容的提问来源于stack exchange,提问作者Sanal
相关产品推荐
相关产品推荐

