开发者学堂课程【HBase入门教程:HBase代码_5】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/397/detail/5077
HBase代码_5
一、查询手机号
/**
* 查询某个手机号某个月份下的所以通话详单
*
*/
public void scanDB() throws Exception{
//18682415935 2016年二月份的通话详细单
//new一个 Scan 对象
Scan scan = new Scan() ;
//解析日期
simpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss") ;
//定义手机号,最大值减去二月份最后一天
//起始时间String startRowkey = "18682415935" + (Long.MAX_VALUE - sdf.parse ("20160204000000").getTime());
//获取一行数据
scan. setStartRow(startRowkey.getBytes());
//结束时间获取String stopRowkey = "18682415935" + (Long .MA_VALUE - sdf.parse("20160203000000").getTime()) ;
scan.setStopRow(stopRowkey.getBytes());
//返回最大 Scanner
ResultScanner rss = hTable.getScanner(scan) ;
//遍历迭代,把每一项输出
For(Result rs : rss){
//直接输出,输出类型System.out.println(newString(CellUtil.cloneValue(rs.getcolumnLatestcell ("cf1".getBytes(),”type”.getBytes())+newString(CellUtil.cloneValue(rs.getcolumnLatestcell ("cf1".getBytes(),”time”.getBytes())+ “-”
+newString(CellUtil.cloneValue(rs.getcolumnLatestcell ("cf1".getBytes(),"time".getBytes(),
”pume”.getBytes())
执行 Cell 转换为 String
结果