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" ...
随机推荐
- 一款性价比很高的PLC网关如何采集西门子PLC到Thingsboard
PLC转MQTT网关金鸽BL100 西门子S7-200smart对接thingsboardBL102是一款采集西门子.三菱.欧姆龙.台达.AB.施耐德等各种PLC数据转换为Modbus TCP.OPC ...
- Educational Codeforces Round 132 (Rated for Div. 2)
Educational Codeforces Round 132 (Rated for Div. 2) A. Three Doors 简述 题意: 有三扇门(1~3), 其中两扇门后面有对应标号门的钥 ...
- MySQL之COUNT(*)性能到底如何?
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 前言 在实际开发过程中,统计一个表的数据量是经常遇到 ...
- 前端知识之CSS(1)-css语法、css选择器(属性、伪类、伪元素、分组与嵌套)、css组合器
目录 前端基础之css 1.关于css的介绍 2.css语法 3.三种编写CSS的方式 3.1.style内部直接编写css代码 3.2.link标签引入外部css文件 3.3.标签内直接书写 4.c ...
- mybatisplus-Service CRUD 接口
通用 Service CRUD 封装IService (opens new window)接口,进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前 ...
- 关于 Math.random()生成指定范围内的随机数的公式推导
关于 Math.random()生成指定范围内的随机数的公式推导 在 java 中,用于生成随机数的 Math 方法 random()只能生成 0-1 之间的随机数,而对于生成指定区间,例如 a-b ...
- 记一次 Sedona(GeoSpark) 空间计算优化
项目需求需要空间计算能力,开始选型Sedona(GeoSpark)来完成, 需求需要每一条数据在满足某条件的情况下,去查找某张表进行空间匹配,找到离这个点(point)最近的一条道路(lineStri ...
- e1000e网卡驱动在麒麟3.2.5上编译安装
一.清空原驱动 因为系统安装完毕后系统中自带了e1000e的网卡驱动,会影响后面自行编译的驱动 所以先用find命令找出并删除掉所有关于e1000e的驱动文件 find / -name "* ...
- 1.关于433MHz按键单片机解码
近段时间做项目要用到单片机接收433MHz按键发过来的码值,涉及短按.连按.长按,由于之前没有做过这方面一开始有点蒙,找遍网上都没有案例,现在项目完成了整理自己的一些心得和大家分享分享!!!直入主题. ...
- 使用mbr2gpt将MBR磁盘转换为GPT磁盘
随着越来越多的新PC的到来,UEFI启动渐渐的取代了BIOS启动方式.不过UEFI需要从GPT磁盘启动,原来的MBR磁盘不行.如果你更换了硬件,只想把磁盘拿到新平台上用又不想重装系统的话就麻烦了.以前 ...