node-avro-io

This will allow you to encode / decode avro binary format to / from json format, it supports both deflate and snappy compressions and supports node streams

npm install node-avro-io
1 downloads in the last day
23 downloads in the last week
35 downloads in the last month

Node Avro IO

Build Status

Implements the avro spec

This status of this repository is initial release

npm install node-avro-io

or

npm install git://github.com/jamesbrucepower/node-avro-io.git

Serializing data to an avro binary file

var fs = require('fs');
var DataFile = require('node-avro-io').DataFile;

var avro = DataFile.AvroFile();
var fileStream = fs.createFileStream('test.avro');

var schema = 'string';
var writer = avro.open("test.avro", schema, { flags: 'w', codec: 'deflate' });
writer
    .pipe(fileStream)
    .append("The quick brown fox jumped over the lazy dogs")
    .append("Another entry")
    .end();

Deserializing data to from avro binary file

var DataFile = require("node-avro-io").DataFile;

var avro = DataFile.AvroFile();

var reader = avro.open('test.avro', { flags: 'r' });
reader.on('data', function(data) {
    console.log(data);
});

...lots more to follow...

For now see test/*

TODO:

  • Avro RPC
  • Support for Trevni (column major data serialization)
npm loves you