一、添加依赖:
<dependency>
<groupid>org.apache.hadoop</groupid>
<artifactid>hadoop-client</artifactid>
<version>2.6.0</version>
</dependency>
<dependency>
<groupid>org.apache.hbase</groupid>
<artifactid>hbase-client</artifactid>
<version>2.4.2</version>
</dependency>
二、使用scanner读取数据示例:
package cn.edu.tju;
import org.apache.hadoop.conf.configuration;
import org.apache.hadoop.hbase.cell;
import org.apache.hadoop.hbase.cellscanner;
import org.apache.hadoop.hbase.hbaseconfiguration;
import org.apache.hadoop.hbase.tablename;
import org.apache.hadoop.hbase.client.*;
public class testhbaseread {
public static void main(string[] args) throws exception {
configuration config = hbaseconfiguration.create();// create configuration
//zookeeper 地址
config.set("hbase.zookeeper.quorum","xxx.xxx.xxx.xxx");//
//zookeeper端口
config.set("hbase.zookeeper.property.clientport", "2181");//
//表名,必须提前在hbase中创建
string tablename ="c1";
//row key
string rowkey = "mykey2";
//family,必须是hbase中有的family
string familyname = "fm2";
//指定的某个column name
string specifiedcolumnname = "by";
connection connection = connectionfactory.createconnection(config);
get g = new get(rowkey.getbytes());
g.addfamily(familyname.getbytes());
try {
table table = connection.gettable(tablename.valueof(tablename));
result result = table.get(g);
cellscanner cellscanner =result.cellscanner();
while (cellscanner.advance()){
cell cell = cellscanner.current();
byte[] rowarray = cell.getrowarray(); //row key 字节数组
byte[] familyarray = cell.getfamilyarray(); //列族 字节数组
byte[] qualifierarray = cell.getqualifierarray();//列名 字节数据
byte[] valuearray = cell.getvaluearray();// 值 字节数组
string columnname=new string(qualifierarray,cell.getqualifieroffset(),cell.getqualifierlength());
string columnvalue=new string(valuearray,cell.getvalueoffset(),cell.getvaluelength());
if(specifiedcolumnname.equals(columnname)){
system.out.println(columnvalue);
}
}
}catch(exception ex) {
system.out.println(ex.getmessage());
}
}
}
发表评论