node-hbase
v0.1.1
Published
HBase client using the REST connector. To be noted that this package is only a mirror of 'hbase', I can not find the latest version(0.1.1) in registry and it seems such a long time the author is out of updating, so what I do is only publishing.
Downloads
2
Readme
Node HBase is a Node.JS client for the Apache HBase database. It use the Rest API (Stargate) to communicate with HBase. Currently, all the API is implemented and the data exchange format is JSON (but protocol buffer could follow).
Apache HBase is part of the Hadoop ecosystem. It describes itself as the Hadoop database optimized for random, realtime read/write access to big data. It is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable.
Client features include:
- Intuitive API following HBase naming conventions
- Documentation and tests
- Full Implementation of the REST API
- Transparent encoding/decoding of values
- Scanner and filter support
Installing
Via npm:
npm install hbase
Quick example
This code create a new HBase instance, create a table and a column family, insert a few records and traverse them.
var assert = require('assert');
var hbase = require('hbase');
hbase({ host: '127.0.0.1', port: 8080 })
.getTable('my_table' )
.create('my_column_family', function(err, success){
this
.getRow('my_row')
.put('my_column_family:my_column', 'my value', function(err, success){
this.get('my_column_family', function(err, cells){
this.exists(function(err, exists){
assert.ok(exists);
});
});
});
});
Running the tests
Tests are executed with expresso. To install it, simple use
npm install -g expresso
. Before running the tests the first time, copy the
file "./test/properties.json.sample" to "./test/properties.json" and make the
appropriate changes.
To run the tests
expresso -s -t 100000
To instrument the tests
expresso --cov -s -t 100000
Related projects
- Official Apache HBase project: http://hbase.apache.org/
- Brother project Pop HBase (PHP): https://github.com/pop/pop_hbase
Contributors
- David Worms: https://github.com/wdavidw
- Michael Kurze: https://github.com/michaelku
- Michal Taborsky: https://github.com/whizz