node-hbase-thrift2
v0.9.5
Published
Yet another HBase thrift2 client
Downloads
9
Readme
node-hbase-thrift2
Yet another NodeJS HBase thrift2 client. Reinforcement the Reconnect support.
Installation
$ npm install --save node-hbase-thrift2
Usage
1. Create client
var HBase = require('node-hbase-thrift2')
var config = {
hosts: ['host1','host2'],
port: 9090,
timeout:1000
};
var hbaseClient = HBase.createClient(config);
2. Get a row data
var get = HBase.Get('rowkey');
get.add('family'); // or
get.add('family', 'qualifier'); // or
get.add('family', 'qualifier', 1); // has timestamp
hbaseClient.get('table', get, function(err,data){
if(err)
console.log('error:', err);
else
console.log('get:', data);
});
get: {
row: 'rowkey',
columnValues: [
{
family: 'family',
qualifier: 'qualifier',
value: <Buffer 31>,
timestamp: 1488469442863
}
]
}
3. Put or Update columns value in a row
var put = HBase.Put('rowkey');
put.add('family', 'qualifier', 'value'); // or
put.add('family', 'qualifier', 'value', Date.now()); // has timestamp
put.add('family', 'qualifier', HBase.Int64(65535)); // direct number buffer
hbaseClient.put('table', put, function(err){
if(err)
console.log('error:', err);
else
console.log('put is successfully');
});
HBase.Int64()
Create node-int64 instance
4. Increment columns value in a row
var inc = HBase.Inc('rowkey');
inc.add('family', 'qualifier');
inc.add('family', 'qualifier2', 2);
hbaseClient.inc('table', inc, function(err, data){
if(err)
console.log('error:', err);
else
console.log('inc:', data);
});
inc: {
row: 'rowkey',
columnValues: [
{
family: 'family',
qualifier: 'qualifier',
value: <Buffer 00 00 00 00 00 00 00 01>,
timestamp: 1488469442863
},
{
family: 'family',
qualifier: 'qualifier2',
value: <Buffer 00 00 00 00 00 00 00 02>,
timestamp: 1488469442863
}
]
}
5. Delete some columns value or a row
var del = HBase.Del('rowkey');
del.add('family'); // or
del.add('family', 'qualifier'); // or
del.add('family', 'qualifier', 1); // has timestamp
hbaseClient.del('table', del, function(err){
if(err)
console.log('error:', err);
else
console.log('del is successfully');
});
6. Scan some rows
var numRows = 10;
var scan = HBase.Scan('startrow');
scan.add('family'); // or
scan.add('family', 'qualifier'); // or
scan.add('family', 'qualifier', 1); // has timestamp
// scan number of rows
hbaseClient.scan('table', scan, numRows, function(err, rows){
if(err)
console.log('error:', err);
else
console.log('scan has', rows.length);
});
// scan each batch rows
hbaseClient.scanEach('table', scan, numRows, function(rows, next) {
console.log('scanEach:', rows.length);
next(null);
}, function(err, rows){
if(err)
console.log('error:', err);
else
console.log('scanEach is successfully');
});