0.9.5 • Published 7 years ago

node-hbase-thrift2 v0.9.5

Weekly downloads
5
License
ISC
Repository
github
Last release
7 years ago

node-hbase-thrift2

NPM Version NPM Downloads

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');
});

License

ISC

0.9.5

7 years ago

0.9.4

7 years ago

0.9.3

7 years ago

0.9.2

7 years ago

0.9.1

7 years ago

0.9.0

7 years ago