Hbase之Shell
来源:互联网 发布:分水岭算法代码 编辑:程序博客网 时间:2024/04/29 17:05
Hbase的Shell操作
写在前面
因为格式问题,为了显示美观一点笔者在Shell命令中逗号后面添加了空格.实际使用请不要加空格
说明
#使用如下命令进入Hbase 的shell 客户端,输入quit或exit退出$ hbase shell
$ help #查看hbase 所有命令
如果忘记了命令如何使用,使用help ‘命令’查看帮助文档,如下
hbase(main):048:0> help 'list'List all tables in hbase. Optional regular expression parameter couldbe used to filter the output. Examples: hbase> list hbase> list 'abc.*' hbase> list 'ns:abc.*' hbase> list 'ns:.*'
1.常用命令操作
查看服务器状态
hbase(main):002:0> status1 active master, 1 backup masters, 3 servers, 0 dead, 1.0000 average load
查看hbase 版本
hbase(main):003:0> version1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017
查看当前用户
hbase(main):004:0> whoamihadoop (auth:SIMPLE) groups: hadoop, wheel
表引用命令提供帮助
DDL操作(数据定义语言)
创建表
hbase(main):008:0> create 'students','info','address'0 row(s) in 10.5040 seconds=> Hbase::Table - students
查看表结构
hbase(main):029:0> desc 'students'Table students is ENABLED students COLUMN FAMILIES DESCRIPTION {NAME => 'address', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} {NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 2 row(s) in 0.2450 secondshbase(main):030:0> describe 'students'Table students is ENABLED students COLUMN FAMILIES DESCRIPTION {NAME => 'address', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} {NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 2 row(s) in 0.2470 seconds
判断表是否存在(exit)
hbase(main):011:0> exists 'students'Table students does exist 0 row(s) in 0.0830 seconds
判断是否禁用启用表(is_enabled,is_disabled)
#is_enabled 是否启用、is_disabled 是否禁用hbase(main):012:0> is_enabled 'students'true 0 row(s) in 0.0690 secondshbase(main):013:0> is_disabled 'students'false 0 row(s) in 0.0860 seconds
禁用表(disable)
hbase(main):016:0> disable 'students'0 row(s) in 2.6340 secondshbase(main):017:0> is_disabled 'students'true 0 row(s) in 0.0520 seconds
启用表(enable)
hbase(main):018:0> enable 'students'0 row(s) in 2.5390 secondshbase(main):019:0> is_enabled 'students'true 0 row(s) in 0.0860 seconds
查看所有表(list)
hbase(main):020:0> listTABLE students user 2 row(s) in 0.0400 seconds=> ["students", "user"]
删除列族(alter)
#删除students表中的列族 addresshbase(main):024:0> alter 'students','delete'=>'address'Updating all regions with the new schema...0/1 regions updated.1/1 regions updated.Done.0 row(s) in 4.0260 seconds
新增列族(alter)
#students 表中新增列族addresshbase(main):027:0> alter 'students',NAME=>'address'Updating all regions with the new schema...0/1 regions updated.1/1 regions updated.Done.0 row(s) in 3.6260 seconds
删除表(drop,drop_all)
#注意:删除前必须先disable表,然后再使用drop删除 #删除单个表使用drop,删除students表hbase(main):031:0> disable 'students'0 row(s) in 2.3640 secondshbase(main):032:0> drop 'students'0 row(s) in 2.5820 secondshbase(main):033:0> exists 'students'Table students does not exist 0 row(s) in 0.0850 seconds#批量删除表使用drop_all,使用正则匹配,删除前先disable表,例如有如下表,删除所有以stu开头的表hbase(main):038:0> listTABLE stu students1 students2 user 3 row(s) in 0.0570 seconds=> ["stu", "students1", "students2"]hbase(main):041:0> disable_all 'stu.*'stu students1 students2 Disable the above 3 tables (y/n)?y3 tables successfully disabled
DML (数据操作语言)
插入数据(put)
hbase(main):003:0> put 'students','1001','info:name','zhangsan'0 row(s) in 0.9800 secondshbase(main):006:0> put 'students','1001','info:sex','0'0 row(s) in 0.0520 secondshbase(main):006:0> put 'students','1001','address:province','Henan'0 row(s) in 0.1540 secondshbase(main):005:0> put 'students','1001','address:city','BeiJing'0 row(s) in 0.3730 secondshbase(main):018:0> put 'students','1002','info:name','wangwu'0 row(s) in 0.0690 secondshbase(main):019:0> put 'students','1003','info:sex','1'0 row(s) in 0.0640 seconds
更新数据(put)
#更新行健为1001,列族为info,列为name的学生姓名为lisihbase(main):009:0> put 'students','1001','info:name','lisi'0 row(s) in 0.1040 seconds
#更新行健为1001,列族为address,列为province的学生省份为BeiJinghbase(main):011:0> put 'students','1001','address:province','BeiJing'0 row(s) in 0.0650 seconds
查询数据(get、scan)
根据rowkey获取:get
全表扫描:scan
- 获取行健为1001的学生信息
hbase(main):025:0> get 'students','1001'COLUMN CELL address:city timestamp=1502172494982, value=BeiJing address:province timestamp=1502172919511, value=Hebei info:name timestamp=1502172821032, value=lisi info:sex timestamp=1502171941941, value=0 4 row(s) in 0.3110 seconds
- 获取行健为1001且列族为address的学生信息
hbase(main):026:0> get 'students','1001','address'COLUMN CELL address:city timestamp=1502172494982, value=BeiJing address:province timestamp=1502172919511, value=Hebei 2 row(s) in 0.0380 seconds
- 获取行健为1001、列族为address、列为ciry的学生信息
hbase(main):027:0> get 'students','1001','address:city'COLUMN CELL address:city timestamp=1502172494982, value=BeiJing 1 row(s) in 0.1150 seconds
- 获取所有的学生信息
hbase(main):028:0> scan 'students'ROW COLUMN+CELL 1001 column=address:city, timestamp=1502172494982, value=BeiJing 1001 column=address:province, timestamp=1502172919511, value=Hebei 1001 column=info:name, timestamp=1502172821032, value=lisi 1001 column=info:sex, timestamp=1502171941941, value=0 1002 column=info:name, timestamp=1502173540238, value=wangwu 1003 column=info:sex, timestamp=1502173566515, value=1 3 row(s) in 0.1370 seconds
删除数据
#删除列族中的某个列#删除students表行健1001,列族为address,列为city的数据hbase(main):036:0> delete 'students','1001','address:city'0 row(s) in 0.1750 seconds
删除前:
删除后:删除了列族中列city为BeiJing的数据
#删除整行数据hbase(main):049:0> deleteall 'students','1002'0 row(s) in 0.0510 seconds
使用scan 命令可以查看到students的历史记录,可以看到已被删除的列族,修改前的数据
scan 'students',{RAW => true,VERSION => 10}
清空表中所有数据
hbase(main):010:0> truncate 'students'Truncating 'students' table (it may take a while): - Disabling table... - Truncating table...0 row(s) in 5.5080 secondshbase(main):012:0> scan 'students'ROW COLUMN+CELL 0 row(s) in 0.2060 seconds
查看表中的总记录数(count)
hbase(main):001:0> count 'students'2 row(s) in 1.7030 seconds=> 2hbase(main):002:0> scan 'students'ROW COLUMN+CELL 1001 column=address:province, timestamp=1502172919511, value=Hebei 1001 column=info:name, timestamp=1502172821032, value=lisi 1001 column=info:sex, timestamp=1502171941941, value=0 1003 column=info:sex, timestamp=1502173566515, value=1 2 row(s) in 0.3620 seconds
阅读全文
0 0
- HBase之shell操作
- Hbase之Shell
- Hbase访问方式之Hbase shell
- Hbase访问方式之Hbase shell
- Hbase访问方式之Hbase shell
- Hbase访问之shell命令
- Hbase访问之shell命令
- Hbase 之shell命令(二)
- Hbase之Shell基本命令
- Hbase笔记二之Hbase Shell基本操作
- hbase Shell之简单命令说明
- Hadoop之——Hbase Shell命令
- Hbase之——常用Shell命令
- hbase shell操作之scan+filter
- hbase shell之常用过滤器设置
- HBase之——Shell基础操作
- HBase Shell
- HBase shell
- java每日一练
- 莫比乌斯反演相关
- acvitity和fragment中都可以单独设置的沉浸式状态栏的自定义实现方式(包括白底黑字状态栏)
- cookie安全加密的哪些事
- [深入理解JVM 六]---虚拟机字节码执行系统
- Hbase之Shell
- java中的设计模式
- iOS PathDrawing(路径图)~demo
- HTTP头注入发现方法(有案例)
- 九度1083:特殊乘法
- 《HTTP权威指南》读书记录
- 对于所有对象都通用的方法
- Windows下git实现免密登录服务器
- nodeJS基础---进程Process