Skip to content

thecsyco/node-avro-io

 
 

Repository files navigation

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)

About

Node JS Avro implementation

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • JavaScript 99.0%
  • Makefile 1.0%