Nodejs操作HBase


首先要確保Nodejs和HBase環境搭建成功。

插入數據:使用put方法,插入數據既可以是插入單列也可以同時插入多列。

示例:

   1:  var hbase = require('hbase');
   2:  var client = hbase({
   3:      host:'localhost',
   4:      port:8090
   5:  });
   6:  var table = client.getTable('testPut');
   7:  table.create('cf',function(err,success){
   8:      this
   9:      .getRow('row3')
  10:      .put('cf:a','value1',function(err,success){
  11:          console.log('insert one column');
  12:          console.log(success);
  13:      });
  14:  });
  15:  var myTable = client.getTable('test');
  16:  myTable.create('cf',function(err,success){
  17:      this
  18:      .getRow('row2')
  19:      .put(['cf:a','cf:b','cf:c'],['a','b','c'],function(err,success){
  20:          console.log('insert multi columns');
  21:          console.log(success);
  22:      });
  23:  });
  24:  var cells = 
  25:  [{ column:'cf:a',timestamp:Date.now(),$: 'a'},
  26:   { column:'cf:b',timestamp:Date.now(),$: 'b'},
  27:   { column:'cf:c',timestamp:Date.now(),$: 'c'}
  28:  ];
  29:  myTable.create('cf',function(err,success){
  30:      this
  31:      .getRow('row1')
  32:      .put(cells,function(err,success){
  33:          console.log('insert multi columns user array');
  34:          console.log(success);
  35:      });
  36:  });
 
顯示結果:
put

獲取數據:獲取數據使用get方法,同樣的獲取數據時可以一次只獲取一行一列,或者一行多列。

示例:

   1:  var hbase = require('hbase');
   2:  var client = hbase({
   3:      host:'localhost',
   4:      port:8090
   5:  });
   6:  var myRow = client.getTable('test').getRow('row1');
   7:  myRow.exists('cf',function(err,exists){
   8:      if(exists){
   9:          this.get('cf',function(err,values){
  10:              console.log('get column family');
  11:              console.log(values);
  12:          });
  13:      }
  14:  });
  15:  myRow.exists('cf:a',function(err,exists){
  16:      if(exists){
  17:          this.get('cf:a',function(err,value){
  18:              console.log('get column a');
  19:              console.log(value);
  20:          });
  21:      }
  22:  });
 

顯示結果:

get

使用scanner獲取數據:

   1:  var hbase = require('hbase');
   2:  var scanner = hbase({host:'localhost',port:8090}).getScanner('test');
   3:  scanner.create({
   4:      batch:3
   5:  },function(err,success){
   6:      this.get(function(err,cells){
   7:          if(err){
   8:               console.log('err');
   9:          }
  10:          if(cells){
  11:              console.log(cells);
  12:          }else{
  13:              this.delete();
  14:          }
  15:      });
  16:  });
  17:   

顯示結果:

scanner

刪除數據:使用delete方法

 

   1:  var hbase = require('hbase');
   2:  var client = hbase({
   3:      host:'localhost',
   4:      port:8090
   5:  });
   6:  var table = client.getTable('test');
   7:  var row = table.getRow('row1');
   8:  row.delete(function(err,success){
   9:      if(success){
  10:          console.log('delete a row');
  11:      }
  12:  });
  13:  var row1 = table.getRow('row3');
  14:  row.delete('cf:b',function(err,success){
  15:      if(success){
  16:          console.log('delete a column');
  17:      }
  18:  });
  19:  row.delete(['cf:a','cf:c',],function(err,success){
  20:      if(success){
  21:          console.log('delete multi column');
  22:      }
  23:  });

刪除成功后即會顯示log內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM