Hbase之shell基本操作
一、系统命令
启动hbase Shell
./bin/hbase shell
获取帮助
help
查询服务器状态
status
查询hbase版本
version
查询表
list
获取表描述
describe 'member'
扫描记录
scan ‘table’
禁用表
disable ‘table’
使能表
enable ‘table’
删除表
disable ‘table’
drop ‘table’
退出hbase shell
quit
二、控制命令权限grant命令用于给指定用户授予特定的权限
grant <user>, <permissions> [, <@namespace> [, <table> [, <column family> [, <column qualifier>]]]]
# 给用户userName授予RWXC权限
grant 'userName', 'RWXC'
# 给用户test授予表tbl1的读权限
grant 'userName','R','tableName'
# 给用户组testgrp授予表tbl1的读权限
grant '@userFroup','R','tableName'
# 给用户test授予namespace ns_1的CREATE权限
grant 'userName 'C','@ns_1'
2、revoke命令用于回收指定用户的权限
revoke <user> [, <@namespace> [, <table> [, <column family> [, <column qualifier>]]]]
# 回收用户userName授予RWXC权限
revoke 'userName'
# 回收用户userName授予表tbl1的读权限
revoke 'userName','R','tableName'
# 回收用户组testgrp授予表tbl1的读权限
revoke '@userFroup','R','tableName'
# 回收用户userName授予namespace ns_1的CREATE权限
revoke 'userName 'C','@ns_1'
3、user_permission用于查询权限
user_permission <table> 查看指定表的权限
user_permission 'table01' 4、<permissions>包括以下5种权限
R - 可以读取给定范围的数据。
W - 可以在给定范围内写入数据。
X - 可以在给定范围内有执行权限。
C - 可以在给定范围内创建表或删除表(甚至是那些他们没有创建的表)。
A - 可以执行集群操作,例如平衡集群或在给定范围内分配Region。
三、DML操作一
1、创建用户信息表user_info
create 'user_info',{NAME => 'i'} 2、以增加编号12005000201的用户信息为例,其他用户信息参照如下命令依次添加
put 'user_info','12005000201','i:name','A'
put 'user_info','12005000201','i:gender','Male'
put 'user_info','12005000201','i:age','19'
put 'user_info','12005000201','i:address','Shenzhen, Guangdong' 3、在用户信息表user_info中新增用户的学历、职称信息
put 'user_info','12005000201','i:degree','master'
put 'user_info','12005000201','i:pose','manager' 4、根据用户编号查询用户姓名和地址
scan 'user_info',{STARTROW=>'12005000201',STOPROW=>'12005000201',COLUMNS=>['i:name','i:address']} 5、根据用户姓名进行查询
scan 'user_info',{FILTER=>"SingleColumnValueFilter('i','name',=,'binary:A')"} 6、删除用户信息表中该用户的数据
delete 'user_info','12005000201','i' 7、删除用户信息表
disable 'user_info';drop 'user_info'
四、DML操作二
1、创建一个普通表
创建表 表名 列族1 列族2 列族3
create 'member','member_id','address','info'

2、插入数据
put 'member','xiaoming','info:age','24'
put 'member','xiaoming','info:birthday','1987-06-17'
put 'member','xiaoming','info:company','alibaba'
put 'member','xiaoming','address:contry','china'
put 'member','xiaoming','address:province','zhejiang'
put 'member','xiaoming','address:city','hangzhou' put 'member','xiaofeng','info:birthday','1987-4-17'
put 'member','xiaofeng','info:favorite','movie'
put 'member','xiaofeng','info:company','alibaba'
put 'member','xiaofeng','address:contry','china'
put 'member','xiaofeng','address:province','guangdong'
put 'member','xiaofeng','address:city','jieyang'
put 'member','xiaofeng','address:town','xianqiao'
3、获取一条数据
获取一个id的所有数据
get 'member','xiaofeng'

获取一个id,一个列族的所有数据
get 'member', 'xiaoming','info'

获取一个id,一个列族中一个列的所有数据
get 'member','xiaoming','info:age'

得到所有行info:birthday列中的数据
scan 'member' , {COLUMNS => 'info:birthday'}
4、更新一条数据
将xiaoming的年龄改成99
put 'member','xiaoming','info:age' ,'99'

get 'member','xiaoming','info:age'
5、通过timestamp来获取两个版本的数据
get 'member','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1321586238965}
get 'member','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1321586571843}

6、删除id为xiaoming的值的‘info:age’字段
delete 'member','xiaoming','info:age'
7、删除整行
deleteall 'member','xiaofeng'
8、查询表中有多少行
count 'member'
9、给xiaofeng这个id增加'info:age'字段
incr 'member','xiaofeng','info:age'
get 'member','xiaofeng','info:age'
10、将整张表清空
truncate 'member'
四、DDL操作
1、创建一个普通表(包含3个列族)
create 'member','member_id','address','info' 创建一个带版本的表
create 't1',{NAME='cf',VERSIONS=5}
2、获取表的描述
list
describe 'member'
3、删除一个列族
我们之前建了3个列族,但是发现member_id这个列族是多余的,因为他就是主键,所以我们要将其删除。(关键字大小写敏感)
disable 'member'
alter'member',NAME=>'member_id',METHOD=>'delete'
describe 'member'
该列族已经删除,我们继续将表enable
enable 'member'
4、删除一个表
disable 'temp_table'
drop 'temp_table'
5、查询表是否存在
exists 'member'
6.判断表是否enable
is_enabled 'member'
7.判断表是否disable
is_disabled 'member'
Hbase之shell基本操作的更多相关文章
- hbase shell 基本操作
hbase shell 基本操作 启动HBASE [hadoop@master ~]$hbase shell 2019-01-24 13:53:59,990 WARN [main] ut ...
- Hbase shell基本操作
1.启动cd <hbase_home>/bin$ ./start-hbase.sh 2.启动hbase shell # find hadoop-hbase dfs fileshadoop ...
- HBase基本shell命令
HBase基本shell命令 以下shell命令都是经过测试,正常展示,若有不足,还望指点! 1.创建表 create ‘表名称’,‘列族名称1’,‘列族名称1’create 'test_M_01', ...
- hbase运行shell时ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 的解决办法
这个问题困扰了我一天多的时间,百度搜索的前几条的答案也是很扯淡的,说什么把/etc/hosts文件下的127.0.1.1改成127.0.0.1就行了,我也只能呵呵了.今天早上起得很晚,中午迪哥请我们去 ...
- HBase的shell命令行界面按退格键(Backspace)无法删除问题
在HBase的shell命令行界面输入错误项按"退格键"删除,却怎么也删除不了: 解决办法: 第一步,修改SecureCRT的设置参数: 第二步,按"Ctrl+退格键(B ...
- HBase的Shell命令
1.HBase提供了一个shell的终端给用户交互 2.HBase Shell的DDL操作 (1)先进入HBase的 Shell命令行,即HBASE_HOME/bin/hbase shell …… & ...
- linux下MongoDB客户端shell基本操作
MongoDB 是一款NoSql数据库,没有固定的模式,即同一个集合中的不同文档结构可以不同,如:第一条记录{name:”xiaoming”},第二条记录:{name:”xiaoli”,age:15} ...
- HBase的Shell命令和JavaAPI
HBase的shell操作和JavaAPI的使用: Shell 表操作 创建表 create 'student','info' #表名 列族 插入表 put 'student','1001','inf ...
- shell 基本操作小结
1.echo和if else fi命令 #!/bin/bash echo hello;echo there filename=demo.sh if [ -e "$filename" ...
随机推荐
- GIt后悔药:还原提交的操作(谨慎操作)
一.背景: 偶尔会遇到git的版本分支的文件被误改的情况,需要还原,此篇文章可能会帮助到你. PS: 来理解下 Git 工作区.暂存区和版本库概念,可以更好的理解以下的还原操作. * 工作区:就是你在 ...
- Python3.7+jieba(结巴分词)配合Wordcloud2.js来构造网站标签云(关键词集合)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_138 其实很早以前就想搞一套完备的标签云架构了,迫于没有时间(其实就是懒),一直就没有弄出来完整的代码,说到底标签对于网站来说还是 ...
- 说起分布式自增ID只知道UUID?SnowFlake(雪花)算法了解一下(Python3.0实现)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_155 但凡说起分布式系统,我们肯定会对一些海量级的业务进行分拆,比如:用户表,订单表.因为数据量巨大一张表完全无法支撑,就会对其进 ...
- odoo 14 Debug 调试
1 # PDB的用法 2 # PDB是用来调试运行代码的. 3 # 如何启动PDB(启动之后你可以调用odoo任何模块中的方法) 4 # ./odoo-bin shell --log-level=de ...
- 精心整理16条MySQL使用规范,减少80%问题,推荐分享给团队
上篇文章介绍了如何创建合适的MySQL索引,今天再一块学一下如何更规范.更合理的使用MySQL? 合理规范的使用MySQL,可以大大减少开发工作量和线上问题,并提升SQL查询性能. 我精心总结了这16 ...
- 基于LadybugFlow的微服务编排(1.SpringBoot集成)
前言 前面的系列文章里,介绍了ladybugflow的业务可视化的设计以及常见场景的使用方法. 感谢大家对项目的关注. 本篇文章介绍一下基于ladybugflow的微服务编排场景及使用方法. 1. 业 ...
- 图片系列(6)不同版本上 Bitmap 内存分配与回收原理对比
请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...
- which 和 that 在定语从句中作介词宾语的用法
关系代词在定语从句中作介词的宾语,且介词在关系代词之前时,关系代词应该用 which:介词在定语从句句末,关系代词可以用 that 或 which. (一)He teaches in a school ...
- 自动化选课(Python + selenium
前几天听到朋友说自己选课事情,突发奇想想要搞这样一个东西,但是由于各种原因只做到以下的完成度,具体的情况也会在解释的最后留下.这个只适用于曲师大的教务系统,因为用的这个系统来进行的一个调试,对于其 ...
- LOJ6029「雅礼集训 2017 Day1」市场 (线段树)
题面 从前有一个学校,在 O n e I n D a r k \rm OneInDark OneInDark 到任之前风气都是非常良好的,自从他来了之后,发布了一系列奇怪的要求,挟制了整个学校,导致风 ...

