Skip to content

Latest commit

 

History

History
55 lines (40 loc) · 1.19 KB

README.md

File metadata and controls

55 lines (40 loc) · 1.19 KB

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)