Hbase如何设计Rowkey

分析【话单数据分析】项目需求

用户需要进行实时的查询,那么这些数据是放在HBase当中的,每个客户每天接打电话至少20个左右,而通信公司拥有很多用户,每天产生的数据都是上亿条。

Hbase如何设计Rowkey_第1张图片

分析【话单数据分析】项目需求

分析上图得到以下结果:
上图中总通话127次,是查询在时间范围内的所有通话记录,可用count统计总数;日均9次:总数/天数;
累计约4时16分:累加在时间范围内的通话时间;日均9分钟:总通话时间/天数

Hbase如何设计Rowkey_第2张图片

分析【话单数据分析】项目需求

常联系的小伙伴功能中包含前10位常被联系的人,和前10位主动联系的人。并且各人都统计了次数。


Hbase如何设计Rowkey_第3张图片

分析【话单数据分析】项目需求

统计出通话次数最多的一天是4月3日


Hbase如何设计Rowkey_第4张图片

分析【话单数据分析】项目需求

  • 分析上面的功能需求,提取出需要的信息,主要包括以下几点:
    自己的号码:telphone
    拨打或接听时间:teltime
    区域:area
    主叫或被叫:active
    对方的号码:phone
    通话时长:talktime
    通话模式(国内或国外):mode
    费用:price
  • 而大部分功能的查询条件分析如下:
    telphone +(starttime - endtime),条件是:号码+开始时间——结束时间

设计Rowkey

  • 条件在上一章提过:号码+开始时间——结束时间,那么设计Rowkey就是telphone(电话号码)+teltime(通话时间)
    在表的Rowkey设计中:
  • 核心思想:
    • 依据Rowkey查询最快
    • 在实际的应用当中,就是对Rowkey进行范围查询range,Rowkey通常都是多个字段组成的。
    • Rowkey是前缀匹配的


      Hbase如何设计Rowkey_第5张图片

你可能感兴趣的:(Hbase如何设计Rowkey)