目录
一、启动hbase
进入hbase shell ,首先启动Hadoop,在启动hbase,然后启动hbase shell
1、启动Hadoop集群
cd /usr/local/hadoop --> ./sbin/start-dfs.sh (退出Hadoop:./sbin/stop-dfs.sh)
2、启动hbase集群
cd /usr/local/hbase --> ./bin/start-hbase.sh (退出hbase:./bin/stop-hbase.sh)
3、启动hbase shell
直接输入 :hbase shell(./bin/hbase shell) (退出shell:exit)
如Hadoop集群启动,如下例子所示
二、hbase常用命令
1、基本命令
- help:查看帮助
- status:查看数据库集群状态
- version:查看数据库版本
- list:查看数据库中所有的表
- table_help:查看表引用命令详细信息
- whomi:查看相关用户的信息
- shutdown:关闭hbase集群
- grant '用户名','权限':给予用户特定的权限 eg: grant ‘Tutorialspoint’, ‘RWXCA’
- revoke '用户名':撤销用户访问表的权限
2、DDL操作
数据定义语言(Data Defination Language,DDL)操作主要用来定义、修改和查询表的数据库模式,与数据表有关的操作
(1)获得表结构的详细信息 : describe '表名'
(2)创建表:create '表名','列族1', '列族2',...
(3)判断/检查表是否可使用
- disable '表名':禁用某个表
- disable_all 'a.*':禁用所有满足匹配给定正则表达式的表
- is_disable '表名':检查表是否被禁用
- enable '表名':启用某个表
- is_enable '表名':检查表是否已启用
- exists '表名':验证表是否存在
(4)删除表(需要使用disable命令关闭表,再进行删除操作)
- disable '表名' --> drop '表名'
- disable_all 'a.*' --> drop_all 'a.*'(删除满足匹配给定正则表达式的表)
(5)修改表结构(更改列族的单元名称/删除列族字段等)
先使用disable命令关闭表,然后进行修改alter操作,修改完之后重新使用表
- 添加列族:alter '表名',NAME=>'列族名'
- 修改版本数:alter '表名',VERSION=>?
- 添加列族并指定版本数:alter '表名',NAME=>'列族名',VERSION=>N
- 删除列族:alter '表名','delete'=>'列族名' 或alter '表名',{NAME=>'column_family',METHOD=>'delete'}}
(6)列出特定表的所有权限:user_permission '表名'
3、DML操作
DML(Data Manipulation Language,数据操作语言)操作主要用来对表的数据进行添加、修改、获取、删除和查询。
(1)、更新数据
put ’表名’,’rowkey’,’ 列族:列族限定名 ’,’值‘
eg: put 'a1','ro1','ca1:name;,'lisan'
(2)、获取数据
get ’表名’,’row1’ 或 get ‘表名’, ‘row1’, {COLUMN => ‘< colfamily:colname >’}
(3)、浏览数据
- scan ’表名’
- scan 'table_name', {COLUMN => ‘< colfamily:colname >’}
(4)、删除数据
- 删除特定单元格:delete ‘< table name >’, ‘< row >’, ‘< column name >’, ‘< time stamp >’
- 删除给定行的所有单元格:delete_all ‘< table name >’, ‘< row >’
(5)、其他
- 统计行数:count ‘表名’
- 清空表:truncate ‘表名’
- 查看名称空间:list_namespace,其中default表示自己所创建表;hbase表示元数据表
- 创建名称空间:create_namespace '空间名'
- 查看hbase中的内容:list_namespace_table 'hbase'
- 查看名称空间的详细信息:describe_namespace ‘空间名’
- 删除名称空间:drop_namespace ‘空间名’