Avro 转 JSON
在本地把 Apache Avro 文件(.avro)转换为可读的 JSON,内嵌的 schema 一并读取,无需上传。
正在你的设备上本地处理 ...
0%
你的文件从未离开你的设备
我的文件会被上传吗?
不会。一切都在你的浏览器中运行,你的文件永不离开你的设备。这一点如何验证
在本地把 Apache Avro 文件(.avro)转换为可读的 JSON,内嵌的 schema 一并读取,无需上传。
正在你的设备上本地处理 ...
0%
你的文件从未离开你的设备
不会。一切都在你的浏览器中运行,你的文件永不离开你的设备。这一点如何验证
Apache Avro 是源自大数据领域(Kafka、Hadoop、数据管道)的一种紧凑二进制数据格式。一个 .avro 对象容器文件(OCF)把记录和它们的 schema(以 JSON 表示)一起打包进文件头部,因此文件完全自描述。二进制形式节省空间,但在文本编辑器里无法阅读。本工具读取该容器及其内嵌 schema,并把每条记录都转成清晰、可读的 JSON。
一切都完全在你的浏览器里本地运行(纯 JavaScript,无需上传,离线也能用,不依赖任何第三方库)。工具读取 OCF 头部,解析内嵌的 Avro schema,并据此解码每条记录 - 包括记录、数组、map、union、枚举和原始类型。支持 null 和 deflate 两种块压缩编码;较少见的 snappy 编码会被诚实地拒绝。bytes 和 fixed 字段会转为 base64,超出 JavaScript 安全整数范围的 64 位整数则以字符串输出,从而不丢失任何精度。
当某条数据管道、某个 Kafka 主题导出或某项分析任务生成了一个 .avro 文件,而你想查看它、把它喂给一个支持 JSON 的工具,或者只是想读懂它时,就会用到这个工具。JSON 是通用且人类可读的。注意:这是单向查看(Avro 转 JSON),不会反向序列化回 Avro,而逻辑类型(date、timestamp、decimal)会以其底层基础值的形式出现。
| 输入格式 | AVRO |
|---|---|
| 输出格式 | JSON |
| 批量处理 | 支持 |
| 处理方式 | 在浏览器中本地处理 (JavaScript) |
| 文件上传 | 无 |
限制: 支持编码为 null 或 deflate 的 Avro 对象容器文件;snappy 编码会以清晰的错误信息被拒绝。bytes/fixed 显示为 base64,较大的 64 位整数显示为字符串(保证精度),union 显示为对应分支的值,逻辑类型显示为其基础值。转换是单向的(不能从 JSON 反转回 Avro)。schema 从文件头部读取;不带 OCF 容器的裸单条 Avro 记录不受支持。
一种源自大数据领域(Kafka、Hadoop)的紧凑、自描述二进制数据格式。schema 随文件头部一起携带。
不会。转换完全在浏览器中本地完成 - 离线也可以。
支持 null 和 deflate 两种块压缩编码。较少见的 snappy 编码会以清晰的提示被拒绝,而不会被错误解码。
超出 JavaScript 安全范围的 64 位整数会输出为字符串;bytes 和 fixed 字段输出为 base64。
不能,本工具是单向的(Avro 转 JSON)- 用于查看和复用数据。