有个这样的需求,我的HBase一个表对应一个省份人群信息(存储该省份的所有人群手机号码),需要在5分钟内能将全省的数据入库到HBase中。其中该表设计如下:
其中
rowKey:基站标识+时间(yyyyMMdd)
columnFamily:peoFamily;
column:00/05/10/15...(每5分钟时间片),一条rowKey对应12个列,即1小时有12个5分钟
value:用逗号分隔的手机号码(该字符串大概有10W个电话号码)
Family | |||||
rowKey(hashId+基站标识1+时间(yyyyMMdd)) | 00 | 05 | 10 | 15 | .... |
abaefgadilddd13131LAC001CI0012020042421 | 13900000000,13900000001,13900000002,... | ... | ... | ... | ... |
aeasfeolkmpar13131LAC001CI0012020042422 | 13900000005,13900000006,13900000007,... | ... | ... | .... | ... |
rowKey设计,满足业务通过基站+时间查询具体小时分钟时间片人群详情。
cloumn设计,标识5分钟时间片数据
value设计,目前该设计是没有设计的设计很low,可以考虑将value值压缩,或者存放对应的HFile链接(或者偏移量),将实际人群详情存放hdfs。
目前想通过其它设计方式重构该表,尤其是value值设计,欢迎各位大神指导!