开发者学堂课程【HBase入门教程:HBase代码_3】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/397/detail/5075
HBase代码_3
一、创建查询通话详单项目示例
本机号码 主叫/被叫类型0、1 通话时长 时间 对方号码
//手机号_时间戳
string rowkey = "1861341234_2016123123123";
Put put = new Put (rowkey.getBytes() );
put.add ("cf1".getBytes(),"type".getBytes()
,"1".getBytes() );
put.add ("cf1".getBytes(), "time ".getBytes(), "2016".getBytes());
//pnum 目标手机号
put.add ("cf1".getBytes(), "pnum". getBytes(), "17712341234".getBytes
());
hTable.put (put);
}
}
进入后端并执行代码:
scan ‘phone’
出现如下信息:
@Test
public void get () throws Exception {
//手机号_时间戳
String rowkey = "1861341234_2016123123123";
Get get = new Get (rowkey.getBytes() );
get.addColumn("cf1".getBytes(),"type".getBytes());
get.addcolumn ("cf1".getBytes(), "time" .getBytes( ));
Result rs = hTable.get (get) ;
cell cell = rs.getcolumnLatestcell("cf1".getBytes(), “pthone”.getBytes();
System.out.println ("========" + new String(CellUtil.cloneValue
(cell)));
}
}
查询通话详单时,数据的特点是按照时间完成的。考虑时需要注意:rowkey 按照时间排序,设置的时候如果要满足降序,rowkey 要如何设置。