gpt4 book ai didi

node.js - 如何在nodejs中反序列化avro?

转载 作者:搜寻专家 更新时间:2023-11-01 00:01:36 25 4
gpt4 key购买 nike

我有一个 avro 文件。我想使用 nodejs 打开和读取它的模式并遍历它的记录。这该怎么做?我在 nodejs 中看到的 avro 库似乎要求您传入架构,而不是从 .avro 文件中获取架构。另外,我希望能够支持数组,似乎不存在支持数组的 Node 库 (node-avro-io)。

我的 avro/avroschema 包含:

  1. 嵌套字段 {a:{suba: vala, subb: vala}}。
  2. 数组字段 {a:["A","B"]}。 node-avro-io 不工作。

我在使用 node-avro-io 时遇到的错误:

Avro Invalid Schema Error: Primitive type must be one of: ["null","boolean","int","long","float","double","bytes","string"]; got DependencyNode

最佳答案

如果您还在寻找,可以使用 avsc 来完成.代码看起来像这样:

var avro = require('avsc');

// To stream the file's records (they will already be decoded):
avro.createFileDecoder('your/data.avro')
.on('data', function (record) { /* Do something with the record. */ });

// Or, if you just want the file's header (which includes the schema):
var header = avro.extractFileHeader('your/data.avro');

关于node.js - 如何在nodejs中反序列化avro?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29235366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com