1

谁能帮我反序列化反应中的avro文件?我尝试使用 avsc npm 包,但现在我遇到了错误。

const avro = require('avsc')
......
avro.createFileDecoder('./abc.avro').on('data', (record) => { console.log(record) })
......

但它显示一个错误。

TypeError: avro.createFileDecoder is not a function

这个怎么解决???

4

1 回答 1

0

该错误是因为 createFileDecoder 函数需要另一个参数 { codecs } 无论如何,我使用 createBlobDecoder 读取了 avro 文件。这就是我所做的。

let metadata = null;
let rows = [];
avro
  .createBlobDecoder(file)
      .on("metadata", type => {
          metadata = type;
      })
      .on("data", val => {            
          rows.push(val);
      })
      .on("end", () => {
          console.log(metadata);
          console.log(rows);       
      });

这里,file 是 HTML 中输入标签的默认返回值。

于 2021-11-08T15:17:40.870 回答