zh

Avro 转 JSON

在本地把 Apache Avro 文件(.avro)转换为可读的 JSON,内嵌的 schema 一并读取,无需上传。

正在你的设备上本地处理 ...

0%

你的文件从未离开你的设备

    我的文件会被上传吗?

    不会。一切都在你的浏览器中运行,你的文件永不离开你的设备。这一点如何验证

    无需上传100% 本地处理
    内容只属于你第三方无法访问
    服务器位于德国原生符合 GDPR
    经独立审计TLS A+ · 标头 A+

    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)
    文件上传

    三步完成

    1. 拖入或轻点你的 Avro 文件(.avro)。
    2. 工具会从容器中读取 schema 和记录。
    3. 下载 JSON(多个文件可打包为 ZIP)。

    限制: 支持编码为 null 或 deflate 的 Avro 对象容器文件;snappy 编码会以清晰的错误信息被拒绝。bytes/fixed 显示为 base64,较大的 64 位整数显示为字符串(保证精度),union 显示为对应分支的值,逻辑类型显示为其基础值。转换是单向的(不能从 JSON 反转回 Avro)。schema 从文件头部读取;不带 OCF 容器的裸单条 Avro 记录不受支持。

    常见问题

    Avro 文件是什么?

    一种源自大数据领域(Kafka、Hadoop)的紧凑、自描述二进制数据格式。schema 随文件头部一起携带。

    我的文件会被上传吗?

    不会。转换完全在浏览器中本地完成 - 离线也可以。

    支持哪些编码(codec)?

    支持 null 和 deflate 两种块压缩编码。较少见的 snappy 编码会以清晰的提示被拒绝,而不会被错误解码。

    大数字和字节会被正确保留吗?

    超出 JavaScript 安全范围的 64 位整数会输出为字符串;bytes 和 fixed 字段输出为 base64。

    我能把 JSON 转换回 Avro 吗?

    不能,本工具是单向的(Avro 转 JSON)- 用于查看和复用数据。

    相关工具