Hbase学习三:Hbase常用命令总结
转载请注明出处:
1.Hbase连接
1.1.进入hbase命令行
hbase shell
# 或
bin/hbase shell
1.2.查看帮助
help
1.3.查看所有表
list
2.表操作
2.1.创建表
create 'user','basicinfo'

2.2.查看表结构
desc 'user'

3.新增
3.1.插入数据
# 语法为: put 表名,rowkey,列簇:列,值 #插入一条数据
put 'user','1001','basicinfo:name','roy'
put 'user','1001','basicinfo:age',18
put 'user','1001','basicinfo:salary',10000 #插入第二条数据
put 'user','1002','basicinfo:name','sophia'
put 'user','1002','basicinfo:sex','female'
put 'user','1002','basicinfo:job','manager' #插入第三条数据
put 'user','1003','basicinfo:name','yula'
put 'user','1003','basicinfo:school','phz school'
4.查询操作
hbase 中访问数据有两种基本的方式:
- 按指定 rowkey 获取数据:get 方法;
- 按指定条件获取数据:scan 方法
scan`可以设置 begin 和 end 参数来访问一个范围内所有的数据。get 本质上就是 begin 和 end 相等的一种特殊的 scan。
对于表名和列名必须使用单引号
1、HBase查询数据只能依据Rowkey来进行查询,而Rowkey是由客户 端直接指定的,所以在使用HBase时, Rowkey如何设计非常重要,要 带上重要的业务信息。
2、scan指令后面的查询条件,STARTROW和STOPROW是必须大写 的。查询的结果是左开右闭的。
4.1.查找单条记录
#可以查看所有列
get 'user','1001'

4.2.查找某一列的值
#查看指定列
get 'user','1001','basicinfo:name'

4.3.使用 scan 查找多条记录
#查询整表数据
scan 'user'

4.4.查询指定列簇的数据
scan 'user',{COLUMN=>'basicinfo'}

需要注意:COLUMN必須大写
4.5.查询指定列
scan 'user',{COLUMN=>'basicinfo:age'}

4.6.使用scan 进行区间查询
scan 'user',{STARTROW => '1001',STOPROW => '1002'}

4.7.limit 限制行数
scan 'user',{STARTROW => '1001',STOPROW => '1002',LIMIT=>1}

4.8.过滤器查询
scan 'user',FILTER=>"ValueFilter(=,'binary:18')"
scan 'user', FILTER=>"ValueFilter(=,'substring:roy')"
scan 'user', FILTER=>"ColumnPrefixFilter('age')"



4.9.查询表中的记录数
count 'user'

4.10.其他查询 可通过help进行查看
help 'get' help 'scan'


5.删除操作
5.1.刪除某一列
delete 'user','1002','basicinfo:sex'
5.2.刪除某一条数据
deleteall 'user','1003'
5.3.清空表数据
truncate 'user'
5.4.删除表之前需要disable表
disable 'user'
drop 'user'
5.5.启用表
enable 'user'
5.6.检查表是否存在
exists 'user'

Hbase学习三:Hbase常用命令总结的更多相关文章
- redis学习-集合set常用命令
redis学习-集合set常用命令 1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...
- redis学习-散列表常用命令(hash)
redis学习-散列表常用命令(hash) hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...
- go的三个常用命令go run go build go install
go的三个常用命令 go run go build go install 命令源码文件:含有 main函数 的文件 库源码文件:不包含 main函数 的文件, 主要用于编译成静态文件.a供其他包调用 ...
- hbase shell基础和常用命令详解(转)
HBase shell的基本用法 hbase提供了一个shell的终端给用户交互.使用命令hbase shell进入命令界面.通过执行 help可以看到命令的帮助信息. 以网上的一个学生成绩表的例子来 ...
- hbase shell基础和常用命令详解
HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服 ...
- Redis学习笔记(三)常用命令整理
Redis 常用命令 1.DEL key 删除key2.EXISTS key 检查key是否存在3.KEYS * 查看所有的key4.EXPIRE key seconds 设置key的过期时间5.TT ...
- Linux学习之路--常用命令讲解
Linux常用命令讲解 1.命令格式:命令 [-选项] [参数] 超级用户的提示符是# 一般用户的提示符是$ 如:ls -la /usr说明: 大部分命令遵从该格式多个选项时,可以一起写 eg:ls ...
- Hbase 学习(一) hbase配置文件同步
最近在狂啃hadoop的书籍,这部<hbase:权威指南>就进入我的视野里面了,啃吧,因为是英文的书籍,有些个人理解不对的地方,欢迎各位拍砖. HDFS和Hbase配置同步 hbase的配 ...
- Kafka学习之四 Kafka常用命令
Kafka常用命令 以下是kafka常用命令行总结: 1.查看topic的详细信息 ./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -top ...
- Vue学习之npm常用命令及参数小结(十四)
NPM几个常用命令和参数的意思: npm install packagename 安装模块如不指定版本号 默认会安装最新的版本 npm install packagename 0.0.1 安装指定版本 ...
随机推荐
- Windows 服务器中使用 mysqldump 命令导出数据,解决中文乱码问题
起因 环境:阿里云服务器(windows server).mysql(8.0.11) mysql> select @@version; +-----------+ | @@version | + ...
- NCTF2022 - pwn 部分 wp
总的来说我出的几题不是很难,主要是想把自己感觉有意思的一些东西分享给大家. ezlogin 程序设计周大作业稍加改编出的题目.洞在Tea里,有个数组越界写,为了避开\x00截断,我给了*可以对其进行替 ...
- VRRP原理和实战
一.VRRP基本概述 ·VRRP能够在不改变组网的情况中,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份. ·协议版本:VRRPv2(常用)和VRRPv3 · ...
- docker registry(私库)搭建,使用,WEB可视化管理部署
Docker Registry 是Docker官方一个镜像,可以用来储存和分发Docker镜像.目前比较流行的两个镜像私库是Docker Registry ,HarBor 其中HarBor最合适企业级 ...
- django serializer.is_valid()总是返回False({'invalid': '无效数据。期待为字典类型,得到的是 {datatype} 。'})
在调用添加接口时,一值失败,调试后发现传入的数据并没有问题,但是数据验证时一直返回False,此时使用 serializer.error_messages查看,所返回如下问题: 再往上看显示: 发现 ...
- 甜点cc的2022年回顾总结
每每到年底,总会感概时间飞逝,总会莫名的心慌几天. 高中时代我就明白了一个道理:自己决定做的事,就算结果再烂以后也不要后悔,因为那无异于否定过去的自己.人不能总是否定自己的过去,因为我觉得这样会打击自 ...
- Django之SQL注入漏洞复现(CVE-2021-35042)
前言 SQL注入的原理是对web请求,表单或域名等提交查询的字符串没有进行安全检测过滤,攻击者可以拼接执行恶意SQL命令,导致用户数据泄露 漏洞原理 Django 组件存在 SQL 注入漏洞,该漏洞是 ...
- 解决多次重连rabbitMQ失败
项目中有用到rabbitMQ,但由于防火墙原因只有在SIT环境下才能连上rabbitMQ,在本地是无法连上rabbitMQ的.如下: 为了不影响调试,临时解决方法为禁止rabbitMQ打印日志.在lo ...
- Vue 修改对象(数组)没有立即生效
在写项目时遇到了给数组赋值后,出现赋值延时的问题,解决办法如下 // Vue 不能检测以下变动的数组: // 当你利用索引直接设置一个项时,例如: vm.items[indexOfItem] = ne ...
- python之路32 网络并发线程方法 线程池 协程
多进程实现TCP服务端并发 服务端: import socket from multiprocessing import Process def get_server(): server = sock ...