HBASE将value设计成一个大字符串是否合理

梦在NASA 2020-04-24 12:44:44
各位大神!有个这样的需求,我的HBase一个表对应一个省份人群信息(存储该省份的所有人群手机号码),需要在5分钟内能将全省的数据入库到HBase中。其中该表设计如下:
rowKey:基站标识+时间(yyyyMMdd)
columnFamily:peoFamily;
column:00/05/10/15...(每5分钟时间片),一条rowKey对应12个列,即1小时有12个5分钟
value:用逗号分隔的手机号码(该字符串大概有10W个电话号码)

请问大神,value设计是否合理,或者有什么更好的设计方式?
value存储是否直接存HDFS,hbase存对应的偏移量或者文件链接?

...全文
171 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LinkSe7en 2020-04-26
  • 打赏
  • 举报
回复
取决于谁去读HBase的数据。 如果是纯java,你完全可以把List<String>序列化后存进去,读的时候反序列化出来,split操作都省了。 如果是有其他语言参与,逗号分割或者json数组这种跨语言序列化,都是可以的 没有问题。 但是注意,HBase每个Cell建议不超过64MB。你一个cell有10w个手机号,也就是110w+的数字+10w个分隔符,每个字符2字节,大概是240w 字节 也就是2.28 MB 是完全可以的。
梦在NASA 2020-04-24
  • 打赏
  • 举报
回复
难搞!各位有解决方案吗?

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧