hbase shell的常用命令

一、hbase shell的基础命令

# 版本号查看
[root@Test-Hadoop-NN-01 hbase]$ ./bin/hbase version
HBase 2.4.0
Source code repository git://apurtell-ltm.internal.salesforce.com/Users/apurtell/src/hbase revision=282ab70012ae843af54a6779543ff20acbcbb629# 客户端登录
[root@Cloud-Hadoop-NN-01 hbase]$ ./bin/hbase shell# 查看所有表
hbase> list### 创建数据表student,包含Sname、Ssex、Sage、Sdept、course列族/列
### 说明:插入数据指定列族不指定列名时,默认使用列名“” !!!
hbase> create 'student','Sname','Ssex','Sage','Sdept','course'# 描述表信息
hbase> describe 'student'
Table student is ENABLED                                                                                                                                                                       
student                                                                                                                                                                                        
COLUMN FAMILIES DESCRIPTION                                                                                                                                                                    
{NAME => 'Sage', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIO
NS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                               {NAME => 'Sdept', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSI
ONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                              {NAME => 'Sname', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSI
ONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                              {NAME => 'Ssex', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIO
NS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                               {NAME => 'course', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERS
IONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                             
5 row(s)# 插入数据表student:Sname:xing='Shen'
hbase> put 'student','10001','Sname:xing','Shen'
hbase> put 'student','10001','Sname:ming','HY'
hbase> put 'student','10001','Ssex',1# 查询数据表student:rowkey='10001'
hbase> get 'student','10001'
Took 0.0052 seconds                                                                                                                                                                            
hbase:014:0> get 'student','10001'
COLUMN                                           CELL                                                                                                                                          Sname:ming                                      timestamp=2025-05-14T16:42:55.882, value=HY                                                                                                   Sname:xing                                      timestamp=2025-05-14T16:42:43.429, value=Shen                                                                                                 Ssex:                                           timestamp=2025-05-14T16:48:28.510, value=1                                                                                                    
1 row(s)
Took 0.0161 seconds    # 查询数据表student:全部数据
hbase> scan 'student'
ROW                                              COLUMN+CELL                                                                                                                                   10001                                           column=Sname:ming, timestamp=2025-05-14T16:42:55.882, value=HY                                                                                10001                                           column=Sname:xing, timestamp=2025-05-14T16:42:43.429, value=Shen                                                                              10001                                           column=Ssex:, timestamp=2025-05-14T16:48:28.510, value=1                                                                                      
1 row(s)
Took 0.0135 seconds    ### 创建数据表scores:包含grade,course字段
hbase> create 'scores','grade','course'# 插入数据表scores:rowkey=zhangsan01 ......
hbase> put 'scores','zhangsan01','grade:','101'
hbase> put 'scores','zhangsan01','course:art','90'
hbase> put 'scores','zhangsan01','course:math','99',1498003561726  
#这里手动设置时间戳的时候一定不能大于当前系统时间,否则无法删除该数据。这里手动设置数据是为了下面的DependentColumnFilter过滤器试验。可以查看一下插入第一条数据的时间戳,再插入第二条数据的时间戳为第一条数据的时间戳
hbase> put 'scores','zhangsan02','grade:','102',1498003601365
hbase> put 'scores','zhangsan02','course:art','90'
hbase> put 'scores','zhangsan02','course:math','66',1498003561726
hbase> put 'scores','lisi01','grade:','201',1498003561726
hbase> put 'scores','lisi01','course:art','89'
hbase> put 'scores','lisi01','course:math','89',1498003561726# 查询两个rowkey之间的数据
hbase> scan 'scores',{STARTROW=>'zhangsan01',STOPROW=>'zhangsan02'}
ROW                                                          COLUMN+CELL                                                                                                                                                                     zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            zhangsan01                                                  column=course:math, timestamp=1498003561726, value=99                                                                                                                           zhangsan01                                                  column=grade:, timestamp=1498003593575, value=101                                                                                                                               
1 row(s) in 0.0140 seconds# 根据列名查询
hbase> scan 'scores',{COLUMNS=>'course:art'}
ROW                                                          COLUMN+CELL                                                                                                                                                                     lisi01                                                      column=course:art, timestamp=1498003655021, value=89                                                                                                                            zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            zhangsan02                                                  column=course:art, timestamp=1498003601365, value=90                                                                                                                            
3 row(s) in 0.0120 seconds# 查询两个rowkey之间&根据列名来查询
hbase> scan 'scores',{COLUMNS=>'course:art',STARTROW=>'zhangsan01',STOPROW=>'zhangsan02'}
ROW                                                          COLUMN+CELL                                                                                                                                                                     zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            
1 row(s) in 0.0110 seconds# 限制查找条数
hbase> scan 'scores',{LIMIT=>1}
ROW                                                          COLUMN+CELL                                                                                                                                                                     zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            zhangsan01                                                  column=course:math, timestamp=1498003561726, value=99                                                                                                                           zhangsan01                                                  column=grade:, timestamp=1498003593575, value=101                                                                                                                               
1 row(s) in 0.0140 seconds# 查询时序数据
hbase> get 'pfme','dh_p_030_13030006@_@1747090800@_@'
# 查询时序数据
hbase> get 'pfme','dh_p_030_13030006@_@1747130400@_@FF-67-12-02-10-6A'# 客户端退出
hbase> exit

二、hbase shell 实现rowkey的模糊查询

# 前缀匹配法
#查询以"2025"开头的rowkey,左闭右开区间(性能较高)
hbase> scan 'table_name', {STARTROW => '2025', STOPROW => '2025z'}# 正则表达式过滤
#查询包含"123"的rowkey(性能较低,全表扫描时慎用,建议配合STARTROW/STOPROW缩小范围)
hbase> scan 'table_name', {FILTER => "RowFilter(=, 'regexstring:.*123.*')"}# 子串匹配优化方案
#查询中间含"123"的rowkey(需预知固定长度),适用于已知字段固定位置时的精准匹配
hbase> scan 'table_name', { STARTROW => '000123', STOPROW => '999123z', FILTER => "ValueFilter(=, 'substring:123')"}# 分页模糊查询
#分页查询含"123"的rowkey(每页10条),通过STARTROW参数实现翻页功能
hbase> scan 'table_name', { FILTER => "PageFilter(10) AND RowFilter(=, 'substring:123')"}#eg: 查询DH专业的ct-tsdb
scan 'pfme', {STARTROW => 'dh_p_030_13030006@_@1747206000', STOPROW => 'dh_p_030_13030006@_@1747206000z'}

三、hbase shell 实现列值的模糊查询

#查询列族cf和列名c1中以123开头的所有行
hbase> scan 'table_name', {COLUMNS => ['cf:c1'], FILTER => "(PrefixFilter('123'))"}#查询指定的列值中包含"123"的所有行
hbase> scan 'table_name', {COLUMNS => ['cf1:c1', 'cf2:c2'], FILTER => "ValueFilter(=, regexstring:'.*123.*')"}

参考文档:
https://blog.csdn.net/m0_37739193/article/details/73615016#
https://blog.csdn.net/vbirdbest/article/details/88236575

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/81573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析Python中的Vector2d类:从基础实现到特殊方法的应用

引言 在Python面向对象编程中,特殊方法(或称魔术方法)是实现对象丰富行为的关键。本文将以Vector2d类为例,详细讲解如何通过特殊方法为自定义类添加多种表示形式和操作能力。 Vector2d类的基本行为 Vector2d类是一个二维向量类…

Zookeeper入门(三)

Zookeeper Java 客户端 项目构建 ookeeper 官方的客户端没有和服务端代码分离&#xff0c;他们为同一个jar 文件&#xff0c;所以我们直接引入 zookeeper的maven即可&#xff0c; 这里版本请保持与服务端版本一致&#xff0c;不然会有很多兼容性的问题 1 <dependency>…

Redis的主从架构

主从模式 全量同步 首先主从同步过程第一步 会先比较replication id 判断是否是第一次同步假设为第一次同步 那么就会 启动bgsave异步生成RDB 同时fork子进程记录生成期间的新数据发送RDB给从节点 清空本地数据写入RDB 增量同步 对比ReplicationID不同因此选择增量同步在Rep…

新电脑软件配置二:安装python,git, pycharm

安装python 地址 https://www.python.org/downloads/ 不是很懂为什么这么多版本 安装windows64位的 这里我是凭自己感觉装的了 然后cmd输入命令没有生效&#xff0c;先重启下&#xff1f; 重启之后再次验证 环境是成功的 之前是输入的python -version 命令输入错误 安装pyc…

docker 学习记录

docker pull nginx docker 将本地nginx快照保存到当前文件夹下 docker save -o nginx.tar nginx:latestdocker 将本地nginx 加载 docker load -i nginx.tar docker运行nginx在80端口 docker run --name dnginx -p 80:80 -d nginxredis启动 docker run --name mr -p 6379:6379 -…

什么是私有IP地址?如何判断是不是私有ip地址

在互联网的世界中&#xff0c;IP地址是设备之间通信的基础标识。无论是浏览网页、发送邮件还是在线游戏&#xff0c;IP地址都扮演着至关重要的角色。然而&#xff0c;并非所有的IP地址都是公开的&#xff0c;有些IP地址被保留用于内部网络&#xff0c;这就是我们所说的私有IP地…

功能安全管理

一、功能安全整体管理 1、功能安全文化&#xff0c;良好的功能安全文化包括&#xff1a; 1&#xff09; 在公司层面&#xff0c;有清晰的组织架构支撑功能安全开展 2&#xff09; 确保有足够的资源投入到功能安全开发中 3&#xff09; 有完整的功能安全培训 4&#xff09; 流程…

异常日志规范

目录 一、错误码 二、异常处理 三、日志规约 一、错误码 强制&#xff1a; 1、错误码的制订原则&#xff1a;快速溯源、沟通标准化。 1&#xff09;错误码必须能够快速知晓错误来源&#xff0c;可快速判断是谁的问题。 2&#xff09;错误码必须能够清晰地比对&#xff08;…

SOLID 面对象设计的五大基本原则

SOLID 原则的价值 原则核心价值解决的问题SRP职责分离&#xff0c;提高内聚性代码臃肿、牵一发而动全身OCP通过扩展而非修改实现变化频繁修改现有代码导致的风险LSP确保子类行为的一致性继承滥用导致的系统不稳定ISP定制化接口&#xff0c;避免依赖冗余接口过大导致的实现负担…

Python 装饰器详解

装饰器是 Python 中一种强大的语法特性&#xff0c;它允许在不修改原函数代码的情况下动态地扩展函数的功能。装饰器本质上是一个高阶函数&#xff0c;它接受一个函数作为参数并返回一个新的函数。 基本装饰器 1. 简单装饰器示例 def my_decorator(func):def wrapper():prin…

无损耗协议:PROFINET和EtherNet IP网关的高效安装指南

作为风力发电机组监控系统的重要组成部分&#xff0c;PROFINET和EtherNet/IP协议转换网关倍讯BX-606-EIP的安装至关重要。作为安装工,我们要确保网关安装的高效顺利,保证风力发电机组的稳定运行。 首先,我们需要仔细检查网关的硬件接口,确保所有连接线缆与设备端口相匹配。网关…

Axure元件动作四:设置选中

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:设置选中 主要内容:选中效果全面解析 应用场景:元件、元件组合需要被选中场景 案例展…

大模型为什么学新忘旧(大模型为什么会有灾难性遗忘)?

字数&#xff1a;2500字 一、前言&#xff1a;当学霸变成“金鱼” 假设你班上有个学霸&#xff0c;数学考满分&#xff0c;英语拿第一&#xff0c;物理称霸全校。某天&#xff0c;他突然宣布&#xff1a;“我要全面发展&#xff01;从今天起学打篮球&#xff01;” 一周后&am…

通过SMTP协议实现Linux邮件发送配置指南

一、环境准备与基础配置 1. SMTP服务开通&#xff08;以qq邮箱为例&#xff09; 登录qq邮箱网页端&#xff0c;进入「设置」-「POP3/SMTP/IMAP」 开启「SMTP服务」并获取16位授权码&#xff08;替代邮箱密码使用&#xff09; 记录关键参数&#xff1a; SMTP服务器地址&#…

react中安装依赖时的问题 【集合】

目录 依赖升级/更新 1、 npm install --save-dev 与 npm install 的区别 1. ‌安装位置&#xff08;依赖类型&#xff09;‌ 2. ‌package.json 中的区别‌ 3. ‌示例 4. ‌何时使用哪种方式‌ 2、npm install 和 yarn add 有什么不一样吗 ‌命令语法‌&#xff1a; …

Coze 实战教程 | 10 分钟打造你的AI 助手

> 文章中的 xxx 自行替换&#xff0c;文章被屏蔽了。 &#x1f4f1; 想让你的xxx具备 AI 对话能力&#xff1f;本篇将手把手教你&#xff0c;如何用 Coze 平台快速构建一个能与用户自然交流、自动回复提问的 xxx助手&#xff0c;零代码、超高效&#xff01; &#x1f4cc;…

【Spring Cloud Gateway】Nacos整合遇坑记:503 Service Unavailable

一、场景重现 最近在公司进行微服务架构升级&#xff0c;将原有的 Spring Cloud Hoxton 版本升级到最新的 2021.x 版本&#xff0c;同时使用 Nacos 作为服务注册中心和配置中心。在完成基础框架搭建后&#xff0c;我使用 Spring Cloud Gateway 作为API 网关&#xff0c;通过 N…

宝塔面板屏蔽垃圾搜索引擎蜘蛛和扫描工具的办法

首先进入宝塔面板&#xff0c;文件管理进入/www/server/nginx/conf目录&#xff0c;新建空白文件kill_bot.conf。然后将以下代码保存到当前文件中。 #禁止垃圾搜索引擎蜘蛛抓取if ($http_user_agent ~* "CheckMarkNetwork|Synapse|Nimbostratus-Bot|Dark|scraper|LMAO|Ha…

Docker拉取镜像报错Error response from daemon: Get “https://registry-1.docker.io/v2/“

记一次Docker拉取镜像的报错 使用docker拉取镜像时&#xff0c;出现报错 [rootcentos8 ~]# sudo docker pull mysql:8.0 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.T…

Ansible模块——文件内容修改

修改文件单行内容 ansible.builtin.lineinfile 可以按行修改文件内容&#xff0c;一次修改一行&#xff0c;支持正则表达式。 选项名 类型 默认值 描述 attributesstrnull 设置目标文件的 Linux 文件系统属性&#xff08;attribute bits&#xff09;&#xff0c;作用类似于…