第一次实习快两个星期了,这次负责的是项目某一块的算法,采用solr+hbase实现,刚开始什么都不懂,都没深入学习,只是我做的算法需要用到什么,我就去查代码怎么实现的,直接搬过来用。
对于Hbase这一块,在我的算法里就只用到查询和连接数据库这一块,其他我都不用到,以下是我这一次大概的代码:
//Hbase数据库的配置设置
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","node2,node3,node4,master")
conf.set("zookeeper.znode.parent","/hbase-unsecure");
//获得连接以及要操作的表
Connection con = ConnectionFactory.createConnection(conf);
TableName tn = TableName.valueOf("XXXX");
Table table = con.getTable(tn);
//获得某个行键的某条记录
String rowKey = "XXXXXXXXX";
Get get = new Get(rowKey.getBytes());
Result res = table.get(get);
//输出这条记录的所有列值对
for(KeyValue kv:res){
String key = new String(kv.getQualifier(),"utf-8");
String value = new String(kv.getValue(),"utf-8");
System.out.println(key+":"+value);
}
//输出这条记录某个列族某个列的值
String columnFamily = "cf";
String column = "cn";
System.out.println(new String(res.getValue(columnFamily.getBytes(),column.getBytes()),"utf-8"));
在做算法的过程中有一个地方是查了很久才知道哪里出错的
conf.set("zookeeper.znode.parent","/hbase-unsecure')
查了很多连接数据库的都没有这条语句,原因之后再了解。
以上代码便是本次算法自己所用到的,希望对新手们有些帮助