hbase使用scan查询数据-指定时间范围和查询条数

1、查看hbase数据,可以使用hbase shell。

2、登录阿里云服务器:xxxxxxxxxx

  • 进入目录:/mnt/hbase
  • 创建文件:test.py

3、脚本内容:vim test.py

import happybase    #导入包
import datetime     #导入包
 
# 连接HBase集群
connection = happybase.Connection('hb-xxxxxxxxxx.hbase.rds.aliyuncs.com', port=xxxx, timeout=120000 )
table = connection.table('xxxxxxxx')
 
# 读取前10条数据
limit = 10    #一定要提前设置变量,如果这里不配置,在for循坏里直接写数值不生效。
 
# 格式化时间
start_date = datetime.datetime(2024, 6, 20)
end_date = datetime.datetime(2024, 6, 30)
 
start_date_str = start_date.strftime('%Y-%m-%d %H:%M:%S')
end_date_str = end_date.strftime('%Y-%m-%d %H:%M:%S')
 
# for循坏
for key, data in table.scan(
        filter=f"SingleColumnValueFilter('xxxx', 'creationTime', >=, 'binary:{start_date_str}') AND SingleColumnValueFilter('xxxx', 'creationTime', <=, 'binary:{end_date_str}')",
        limit=limit    #这里一定要注意,必须是引用变量
        ):
    print(key, data)    #打印
 
# 关闭连接
connection.close()

4、执行脚本:python test.py

  • 可以看到对应时间的数据


    image.png

5、如、重新编写时间,写一个没有数据的时间,提示如下:

  • 这里其实是没有数据引起的。


    image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。