Hbase的rowkey设计

Container123 2020-05-14 02:59:12
spark streaming实时往hbase插入数据,1分钟增长一波。
然后利用spark 进行查询处理,每半小时开启一次,每次都要查询最近30分钟所有数据。
rowkey内除了时间戳外还有其他维度值。
现在是按照时间戳在rowkey第一位进行设计的,但是容易出现热点问题。
请问怎么设计更加的合理呢?
...全文
79 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Container123 2020-05-14
  • 打赏
  • 举报
回复
引用 3 楼 Grain_Rain_tx的回复:
不会扫描全表,hbase的每个HFile都维护了行键起始和结束,只有满足条件的才会去里面找对应的数据,并且只有满足行键匹配的那个数据块才会被解压。肯定比不加前缀扫描的行键数量要多,但是数据量不是十分庞大的情况下影响不大。
好的,多谢!!!!
谷雨_tx 2020-05-14
  • 打赏
  • 举报
回复
不会扫描全表,hbase的每个HFile都维护了行键起始和结束,只有满足条件的才会去里面找对应的数据,并且只有满足行键匹配的那个数据块才会被解压。肯定比不加前缀扫描的行键数量要多,但是数据量不是十分庞大的情况下影响不大。
Container123 2020-05-14
  • 打赏
  • 举报
回复
多谢,想再请教一下,这种匹配会不会造成全表扫描呢?
谷雨_tx 2020-05-14
  • 打赏
  • 举报
回复
可以在rowkey上面添加固定长度的前缀,以随机序列的形式存在。查的时候用正则匹配,过滤掉前缀的干扰,取相应时间范围内的值即可

20,808

社区成员

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

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