下面是一些Hbase的操作命令,给大家整理出来,方便大家学习

一.创建语法

创建namespace
hbase>create_namespace ‘ai_ns’
删除namespace
hbase>drop_namespace 'ai_ns’
查看有哪些namespace
hbase>list_namespace
在namespace下创建表
hbase>create ‘ai_ns:testtable’, ‘fm1’
查看namespace下的表
hbase>list_namespace_tables ‘ai_ns’
创建表 (注:列族最多五个,但里面的列不限)
create ‘表名’,’列族名’
查看表结构
desc ‘t_user’

二.修改语法

增加列族
alter ‘表名’, ‘列族名’
 示例:
 alter ‘tbl_user’, ‘address’删除列族
alter ‘表名’, {NAME=> ‘列族名’, METHOD=> ‘delete’}
 示例:
 alter ‘tbl_user’, {NAME=> ‘address’, METHOD=> ‘delete’}删除列族示例
alter ‘表名’, {NAME=> ‘列族名’, METHOD=> 'delete’}
 示例:
 alter ‘tbl_user’, {NAME=> ‘address’, METHOD=> 'delete’}

三.表是否存在语法

表是否存在

exists ‘表名’
示例:
exists ‘tbl_user’

四.删除表语法

注!!!:删除表先禁用,在删除!!!

禁用表

disable ‘表名’

查看表是否禁用

is_enabled ‘表名’

删除表

drop ‘表名’
以下所有命令需要指定 namesapce 的,只需要在表名前指定就行,即 namespace:tablename

五.插入数据语法

put ‘表名’, ‘行键’, ‘列族名’, ‘列值’
 示例:
 put ‘tbl_user’, ‘mengday’, ‘info:id’, ‘1’指定 namespace 时:namespace:tablename
 示例:
 put ‘id_map:tbl_user’, ‘mengday’, ‘info:id’, ‘1’

六.扫描数据语法

全表扫描scan
scan ‘表名’
 示例:
 scan ‘tbl_user’扫描整个列簇
scan ‘表名’, {COLUMN=>‘列族名’}
 示例:
 scan ‘tbl_user’, {COLUMN=>‘info’}扫描整个列簇的某个列
scan ‘表名’, {COLUMN=>‘列族名:列名’}
 示例:
 scan ‘tbl_user’, {COLUMN=>‘info:age’}

七.获取数据get

获取某一行的数据
get ‘表名’, ‘行键’
 示例:
 get ‘tbl_user’, ‘mengday’获取某一行某列族的数据
get ‘表名’, ‘行键’, '列族名’
 示例:
 get ‘tbl_user’, ‘mengday’get ‘表名’, ‘行键’, ‘列族名:列名’
 示例:
 get ‘tbl_user’, ‘mengday’, ‘info’删除某个列族中的某个列delete
delete ‘表名’, ‘行键’, ‘列族名:列名’
 示例:
 delete ‘tbl_test’, ‘rowKey1’, ‘columnFamily1:column1’删除某行数据deleteall
deleteall ‘表名’, ‘行键’
 示例:
 deleteall ‘tbl_test’, ‘rowKey1’清空整个表的数据truncate
truncate ‘表名’
 示例:
 truncate ‘tbl_user’查询表中有多少行count
count ‘表名’
 示例:
 count ‘tbl_user’
COLUMNS: 查询同一个列族的多个列
scan ‘表名’, {COLUMNS => [ ‘列族名1:列名1’, ‘列族名1:列名2’, …]}
 示例:
 scan ‘tbl_user’, {COLUMNS => [ ‘info:id’, ‘info:age’]}LIMIT 返回的行数
scan ‘表名’, { LIMIT => 行数}
 示例:
 scan ‘tbl_user’, { LIMIT => 2 }

八.FILTER条件过滤器

过滤器之间可以使用AND、OR连接多个过滤器。

ValueFilter 值过滤器

binary 等于某个值

scan ‘表名’, FILTER=>“ValueFilter(=,‘binary:列值’)”

substring:包含某个值

scan ‘表名’, FILTER=>“ValueFilter(=,‘substring:列值’)”
 示例:
 scan ‘tbl_user’, FILTER=>“ValueFilter(=, ‘binary:26’)”
 scan ‘tbl_user’, FILTER=>“ValueFilter(=, ‘substring:6’)”

ColumnPrefixFilter 列名前缀过滤器

substring:包含某个值

scan ‘表名’, FILTER=>“ColumnPrefixFilter(‘列名前缀’)”
 示例:
 scan ‘tbl_user’, FILTER=>“ColumnPrefixFilter(‘birth’)”

通过括号、AND和OR的条件组合多个过滤器

scan ‘tbl_user’, FILTER=>“ColumnPrefixFilter(‘birth’) AND ValueFilter(=,‘substring:26’)”