Hbase统计、 hive中创建关联hbase的几种方案

15 篇文章 10 订阅

问题一:hbase证件号+日期 又查询单条,有统计一天的量

需求:有一张数据表,其中包含手机号码字段。

1. 查询一段时间内固定号码的所有数据 2. 查询一段时间内所有数据。

分析:HBase要想查询快速,只能从rowKey上下手,

解决思路1:rowKey=phoneNum+时间 可以实现目标1,设置StartRow ;

在建立一个scan对象后,我们setStartRow(00000120120901),setEndRow(00000120120914)。

这样,scan时只扫描userID=000001的数据,且时间范围限定在这个指定的时间段内

 但是目标2很难实现,RowFilter的SubstringComparator(子串匹配)话全表扫描,很慢,效率很低

rowKey=时间+phoneNum 可以实现目标2,但是目标1很难实现,

且数据量越来越大可能导致热点问题。

解决思路1:牺牲空间换时间,写数据时同时写入两张表,内容一样,只是一张表rowKey=phoneNum+时间,另一张表rowKey=时间+phoneNum。数据量太大,占用空间太大,浪费资源,不可取

解决思路2:牺牲部分空间部分时间,两张表,

一张全量表,rowKey=phoneNum+时间&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四月天03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值