Hbase 查询命令 条件筛选

这篇具有很好参考价值的文章主要介绍了Hbase 查询命令 条件筛选。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hbase 查询命令 条件筛选

方便测试

建一下表

hbase(main):001:0> create 'student','c1'

不写namespace的话就是默认在default里

查询有哪些namespace

hbase(main):001:0> list_namespace

查看表的全量数据

hbase(main):002:0> scan 'default:student'

放入一些测试数据

put 'student','1001','c1:id','1001'
put 'student','1002','c1:id','1002'
put 'student','1003','c1:id','1003'
put 'student','1004','c1:id','1004'
put 'student','1005','c1:id','1005'

只查询一行

hbase(main):025:0> scan 'student',LIMIT=>1
ROW                        COLUMN+CELL
 1001                      column=c1:id, timestamp=1658911986336, value=1001

查询表的总记录数

count 'student'

按写入的时间戳查询数据

scan 'student', {COLUMN => 'c1', TIMERANGE => [1658827317000,1658913717000]}

查询值为1002的记录

hbase(main):004:0> scan 'student',FILTER=>"ValueFilter(=,'binary:1002')"
ROW                        COLUMN+CELL
 1002                      column=c1:id, timestamp=1658911989184, value=1002
1 row(s) in 0.1060 seconds

查询c1:id列的值为1002的

hbase(main):006:0> scan 'student',COLUMNS => 'c1:id',FILTER=>"ValueFilter(=,'binary:1002')"
ROW                        COLUMN+CELL
 1002                      column=c1:id, timestamp=1658911989184, value=1002
1 row(s) in 0.0340 seconds

查询值包含100的记录,就跟sql的模糊匹配一样

hbase(main):007:0> scan 'student',FILTER=>"ValueFilter(=,'substring:100')"
ROW                        COLUMN+CELL
 1001                      column=c1:id, timestamp=1658911986336, value=1001
 1002                      column=c1:id, timestamp=1658911989184, value=1002
 1003                      column=c1:id, timestamp=1658911989217, value=1003
 1004                      column=c1:id, timestamp=1658911989243, value=1004
 1005                      column=c1:id, timestamp=1658911989788, value=1005
5 row(s) in 0.0470 seconds

为了方便列的其他查询,多放入一个列

put 'student','1001','c1:sex','1'
put 'student','1002','c1:sex','2'
put 'student','1003','c1:sex','1'
put 'student','1004','c1:sex','2'
put 'student','1005','c1:sex','1'

hbase(main):015:0* scan 'student'
ROW                        COLUMN+CELL
 1001                      column=c1:id, timestamp=1658911986336, value=1001
 1001                      column=c1:sex, timestamp=1658914149713, value=1
 1002                      column=c1:id, timestamp=1658911989184, value=1002
 1002                      column=c1:sex, timestamp=1658914152500, value=2
 1003                      column=c1:id, timestamp=1658911989217, value=1003
 1003                      column=c1:sex, timestamp=1658914152535, value=1
 1004                      column=c1:id, timestamp=1658911989243, value=1004
 1004                      column=c1:sex, timestamp=1658914152563, value=2
 1005                      column=c1:id, timestamp=1658911989788, value=1005
 1005                      column=c1:sex, timestamp=1658914153242, value=1
5 row(s) in 0.0390 seconds

查询列为id打头的值

hbase(main):019:0> scan 'student',FILTER=>"ColumnPrefixFilter('id')"
ROW                        COLUMN+CELL
 1001                      column=c1:id, timestamp=1658911986336, value=1001
 1002                      column=c1:id, timestamp=1658911989184, value=1002
 1003                      column=c1:id, timestamp=1658911989217, value=1003
 1004                      column=c1:id, timestamp=1658911989243, value=1004
 1005                      column=c1:id, timestamp=1658911989788, value=1005
5 row(s) in 0.0270 seconds

各项查询的条件是可以叠加的,比如下面这个

查询列为id打头且值为1003的

hbase(main):020:0> scan 'student',FILTER=>"ColumnPrefixFilter('id') AND ValueFilter(=,'binary:1003')"
ROW                        COLUMN+CELL
 1003                      column=c1:id, timestamp=1658911989217, value=1003
1 row(s) in 0.0550 seconds

查询rowkey为100打头的

hbase(main):021:0> scan 'student',FILTER=>"PrefixFilter('100')"
ROW                        COLUMN+CELL
 1001                      column=c1:id, timestamp=1658911986336, value=1001
 1001                      column=c1:sex, timestamp=1658914149713, value=1
 1002                      column=c1:id, timestamp=1658911989184, value=1002
 1002                      column=c1:sex, timestamp=1658914152500, value=2
 1003                      column=c1:id, timestamp=1658911989217, value=1003
 1003                      column=c1:sex, timestamp=1658914152535, value=1
 1004                      column=c1:id, timestamp=1658911989243, value=1004
 1004                      column=c1:sex, timestamp=1658914152563, value=2
 1005                      column=c1:id, timestamp=1658911989788, value=1005
 1005                      column=c1:sex, timestamp=1658914153242, value=1

查询rowkey为100打头的且不同返回列信息

hbase(main):022:0> scan 'student',FILTER=>"PrefixFilter('100') AND KeyOnlyFilter()"
ROW                        COLUMN+CELL
 1001                      column=c1:id, timestamp=1658911986336, value=
 1001                      column=c1:sex, timestamp=1658914149713, value=
 1002                      column=c1:id, timestamp=1658911989184, value=
 1002                      column=c1:sex, timestamp=1658914152500, value=
 1003                      column=c1:id, timestamp=1658911989217, value=
 1003                      column=c1:sex, timestamp=1658914152535, value=
 1004                      column=c1:id, timestamp=1658911989243, value=
 1004                      column=c1:sex, timestamp=1658914152563, value=
 1005                      column=c1:id, timestamp=1658911989788, value=
 1005                      column=c1:sex, timestamp=1658914153242, value=
5 row(s) in 0.0670 seconds

从特定行开始查三行

hbase(main):006:0> scan 'student',{STARTROW=>'1002',LIMIT=>3}
ROW                        COLUMN+CELL
 1002                      column=c1:id, timestamp=1658911989184, value=1002
 1002                      column=c1:sex, timestamp=1658914152500, value=2
 1003                      column=c1:id, timestamp=1658911989217, value=1003
 1003                      column=c1:sex, timestamp=1658914152535, value=1
 1004                      column=c1:id, timestamp=1658911989243, value=1004
 1004                      column=c1:sex, timestamp=1658914152563, value=2
3 row(s) in 0.0300 seconds

获取特定的行

hbase(main):007:0> get 'student','1001'
COLUMN                     CELL
 c1:id                     timestamp=1658911986336, value=1001
 c1:sex                    timestamp=1658914149713, value=1
2 row(s) in 0.0170 seconds

默认的查询是正序,倒叙使用REVERSED => TRUE

scan 'student',{REVERSED => TRUE,LIMIT=>1}

以上这些命令基本满足大部分的查询需求了文章来源地址https://www.toymoban.com/news/detail-404253.html

到了这里,关于Hbase 查询命令 条件筛选的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库概述、部署MySQL服务、必备命令、密码管理、安装图形软件、SELECT语法 、筛选条件

    Top 案例1:构建MySQL服务器 案例2:密码管理 案例3:安装图形软件 案例4:筛选条件 1.1 问题 在IP地址192.168.88.50主机和192.168.88.51主机上部署mysql服务 练习必备命令的使用 1.2 方案 准备2台虚拟机,要求如下: 表-1   配置yum源、关闭selinux和防火墙,如果忘记了请自行补习前边课

    2024年02月12日
    浏览(61)
  • 【postgresql 基础入门】update命令与delete命令,表达式作为值,带筛选条件的删除,避够清空全表

    ​ 专栏内容 : postgresql内核源码分析 手写数据库toadb 并发编程 个人主页 :我的主页 管理社区 :开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 已经存储在数据库中的数据,在日常使用过程中,在现实当中一些数据已经发生了变化,相应的我们需

    2024年04月14日
    浏览(43)
  • 3、HBase的java API基本操作(创建、删除表以及对数据的添加、删除、查询以及多条件查询)

    1、hbase-2.1.0介绍及分布式集群部署、HA集群部署、验证、硬件配置推荐 2、hbase-2.1.0 shell基本操作详解 3、HBase的java API基本操作(创建、删除表以及对数据的添加、删除、查询以及多条件查询) 4、HBase使用(namespace、数据分区、rowkey设计、原生api访问hbase) 5、Apache Phoenix(5.0.0-5.

    2024年02月08日
    浏览(65)
  • 【Pandas学习】多条件筛选DataFrame

    目录 一、按列筛选 1、简单筛选 2、多条件筛选  二、按行筛选 三、多条件组合 DataFrameSeries  执行 、 、 == 这些运算符时,会将每一个元素进行比较,得到一个由结果( Boolean 值)组成的相同大小的 DataFrameSeries 返回。 相同大小的 DataFrameSeries 之间可以用 、 | 、 ~ 运算符进

    2024年02月16日
    浏览(34)
  • vue实现多条件筛选(代码简洁)

    纯vue实现数据筛选逻辑功能,不依赖任何第三方插件、组件,复制粘贴开箱即用

    2024年02月11日
    浏览(40)
  • PySpark-DataFrame条件筛选

    本文是对PySpark的DataFrame中进行条件筛选操作的一个回顾总结。   目录 示例 DataFrame  .where 条件筛选  .filter 过滤 .isin 过滤 funcs.when() 示例 DataFrame  .where 条件筛选  方式1 用df[\\\'col\\\']去比较条件,本质上是对布尔表达式的选择。 # 多个条件中的每个条件注意用()括起来,链接注

    2024年02月02日
    浏览(37)
  • Java - Stream Filter 多条件筛选过滤

    Java Stream流中Filter用于通过设置的条件过滤出元素 ,示例如下: 如果需要进行多条件过滤 我们可以对这些参数进行处理,我们只是需要做一下判断,即: 让所有参数默认为 false,然后对传进来的值进行取值判断,若满足该条件为true,多个条件进行多次判断 判断完成之后 会

    2024年02月04日
    浏览(59)
  • 筛选符合条件的数据行(Python Pandas 数据框中基于条件的行选择)

    筛选符合条件的数据行(Python Pandas 数据框中基于条件的行选择) 在处理数据的过程中,有时需要筛选出数据框中符合特定条件的行,以便对这些行进行进一步的处理或者分析。Python Pandas 库提供了多种方式来实现基于条件的行选择。 下面我们将演示如何使用 Pandas 实现基于

    2024年02月12日
    浏览(42)
  • Python 教学 | Pandas 妙不可言的条件数据筛选

    目录 Part 1  前言 Part 2  Excel 的数据筛选与分布统计 Part 3  Pandas 条件数据筛选 1、条件数据筛选的不同维度 (1) 比较数据值 (2) 是否为空值 (3) 文本内容筛选 (4) 数据值长度 (5) 日期筛选 (6) 其他 2、复合条件筛选 Part 4  总结 Part 5  Python教程 在 Python 中,第三方库 Pandas 是数据清

    2024年02月10日
    浏览(40)
  • Python学习笔记_实战篇(二)_django多条件筛选搜索

    多条件搜索在很多网站上都有用到,比如京东,淘宝,51cto,等等好多购物教育网站上都有,当然网上也有很多开源的比楼主写的好的多了去了,仅供参考,哈哈 先来一张效果图吧,不然幻想不出来是什么样的,前端样式很low,毕竟主要是说后台的嘛,前端为了简单测试就简

    2024年02月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包