一、数据定义命令【表、数据库级别的操作】DDL
1.输入以下命令进入hbase控制台:
hbase shell
2.查看Hbase服务器状态
status
3.查看所有的表:
list
4.create创建表:
create '表名称', '列族名称1', '列族名称2', '列族名称N'
create 'book','info','price'
5.describe描述表: 会列出一些表的详细信息
describe 'book'
6.alter 变更表信息
增加一个列簇
alter 'book','date'
移除或者删除已有的列族(前提条件是HBase表的列族数>= 2)
alter 'book',{NAME=>'date',METHOD=>'delete'}
修改列族版本
alter 'book',{NAME=>'date',VERSIONS=>3}}
7.删除表
删除表之前需要先禁用表、再进行删除
如果禁用表之后,想启用表可以使用enable启用表
disable 'book'
drop 'book'
8.禁用表
判断是否已经禁用
is_disabled 'book'
禁用
disable 'book'
启用
enable 'book'
9.检查表是否存在
exists 'book'
二.数据操作命令(DML操作)
1.put
在新增记录的同时,还可以为记录设置属性 /更新表中记录
最简命令参数:
put '表名','行键','列族:列名','值'
加上后面可以加的参数后的命令:
put '表名','行键','列族:列名','值','时间戳',{ATTRIBUTES => {'属性' => '属性值'}},{VISIBILITY => 'PRIVATE | SECRET'}
示例:向 ‘book’ 表中 info列族 name列 插入一条数据 ‘the Romance of the Three Kingdoms’
put 'book','1','info:des','Three Kingdoms'
put 'book','1','info:name','the Romance of the Three Kingdoms'
2.get
通过表名、行键等参数获取行或单元格数据:语法是 get 表名,行键,{条件}
get 'book','1'
带条件
get 'book','1',{COLUMN=>'info:name',VERSIONS=>3}
3.scan
遍历表并输出满足指定条件的行记录:语法与get类似
scan '表名' 表示查询全表
scan 'book'
4.count计算表中的逻辑行数:
count 'book'
5.delete
删除表中的记录
命令表达式:
delete '表名称', '行键', '列族名称:列名称'
delete 'book','1','info:name'
删除整行的值
deleteall '表名称','行键'
deleteall 'book','1'
6.清除表数据
truncate 'book'
三.条件查询
1.指定输出行
scan 'book',{LIMIT=>2}
2.扫描指定列簇
scan '表名称', {COLUMN => '列族名称'}
scan 'book',{COLUMN => 'info'}
3.扫描指定列
scan '表名称', {COLUMNS => '列族名称:列名称'}
scan 'book',{COLUMNS => 'info:name'}
4.指定输出范围
包含STARTROW,不包含ENDROW
scan 'book',{STARTROW=>'1',ENDROW=>'3'}
5.可只指定STARTROW:
scan 'book',{STARTROW=>'2'}
6.使用行键RowFilter过滤rowkey进行搜索(binary),即rowkey的精确查询
scan '表名称', FILTER=>"RowFilter(=,'binary:rowkey值')"
scan 'book', FILTER=>"RowFilter(=,'binary:003')"
7.使用行键RowFilter过滤rowkey进行搜索(substring),即rowkey的模糊查询
scan '表名称', FILTER=>"RowFilter(=,'substring:子串')"
scan 'book', FILTER=>"RowFilter(=,'substring:0')"
8.使用等值过滤value搜索(binary),即value的等值查询
scan '表名称', FILTER=>"ValueFilter(=, 'binary:某值')"
scan 'book', FILTER=>"ValueFilter(=,'binary:Three Kingdoms')"
9.使用等值过滤value搜索(substring),即value的模糊查询
scan '表名称', FILTER=>"ValueFilter(=,'substring:某子串')"
scan 'book', FILTER=>"ValueFilter(=,' substring:an')"
本文用于记录以便作为日常使用手册
借鉴于以下文章