package com.weshare.bigdata;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
public class hbaseLink {
static org.apache.hadoop.conf.Configuration configuration=null;
private org.apache.hadoop.hbase.client.Connection connection=null;
private Table table=null;
public void init() throws Exception{
configuration=HBaseConfiguration.create();
configuration.set("hbase.zookeeper.quorum", "服务器地址");
configuration.set("hbase.zookeeper.property.clientPort", "服务器端口");// zookeeper端口
connection=ConnectionFactory.createConnection(configuration);
// try {
// table = connection.getTable(TableName.valueOf("hbase表名"));
// ResultScanner rs = table.getScanner(new Scan());
// int num=0;
// for (Result r : rs) {
// Byte b= r.getRow(scan);
// System.out.println("获得到rowkey:" + new String(r.getRow()));
// num++;
//
// }System.out.print(num);
// }catch(Exception e){
// e.printstacktrace();
// }
}
public void queryall(String tableName) throws Exception{
table = connection.getTable(TableName.valueOf(tableName));
ResultScanner rs = table.getScanner(new Scan());
int num=0;
for (Result r : rs) {
//System.out.println("获得到rowkey:" + new String(r.getRow()));
num++;
}
System.out.print(num);
}
public void checkColName(String tableName,String rowkey,String exceptedColName) throws Exception{
table = connection.getTable(TableName.valueOf(tableName));//建立hbase表链接
Get scan = new Get(rowkey.getBytes());//获取rokey,将其转义成byte字节
Result r=table.get(scan);//使用转义的rowkey查询表,将其查询结果返回给Result
System.out.println("1");
if(r.rawCells().equals("")||r.rawCells()==null||r.rawCells().length==0){
System.out.println("3");
}
for (Cell keyvalue : r.rawCells()) {
System.out.println("2");
String colName = Bytes.toString(keyvalue.getQualifierArray(),keyvalue.getQualifierOffset(),keyvalue.getQualifierLength());
if(!colName.equals(exceptedColName)){
System.out.println("校验成功,不存在colName:"+exceptedColName+",实际colName:" + colName);
}else if(colName.isEmpty()){
System.out.println("校验成功,查询无colName");
}else{
System.out.println("校验失败");
}
System.out.println("12:"+keyvalue.getFamilyLength());
}
// Get coln=scan.addFamily(rowkey.getBytes());
// NavigableMap nm=scan.getFamilyMap(rowkey.getBytes());
// System.out.println(coln.toString());
}
public static void main(String[] args) throws Exception{
hbaseLink hl=new hbaseLink();
hl.init();
hl.queryall("tablename");
// hl.checkColName("table","rowkey","column");
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。