赞
踩
hbase shell

help

查看某一个命令如何使用:
格式: help '命令'
例如: hbase(main):002:0> help 'create'



格式:
create '表名', '列族1','列族2'......

格式:
put '表名', 'rowkey值','列族:列名','列值'

格式:
get '表名','rowkey值'[,'列族1','列族2'... || '列族1:列名1','列族2:列名2'... || '列族1','列族1:列名1'... ]

修改与添加数据的操作,是一致的, 只需要保证rowkey相同, 就是修改操作

格式:
delete '表名','rowkey','列族:列名'


格式:
deleteall '表名','rowkey' [,'列族:列名']

delete 和 deleteall 区别:
共同点: 都是用于执行删除数据的操作
区别点:
1) delete操作, 只能删除某个列的数据, deleteall 支持删除整行数据
2) 通过delete删除某个列的数据时候, 默认只删除最新的版本, 而deleteall直接将所有的版本全部都删除
格式:
describe '表名'

格式:
truncate '表名'
底层: 先将表禁用 --> 删除表 --> 创建表

格式:
drop '表名'

如何禁用表:
disable '表名'
如何启用表:
enable '表名'
如何判断表是否是禁用/启用:
is_disabled '表名'
is_enabled '表名'

初始化一些相关数据:
create 'test01','f1','f2'
添加数据:
put 'test01','rk0001','f1:name','zhangsan'
put 'test01','rk0001','f1:age',20
put 'test01','rk0001','f2:address','beijing'
put 'test01','rk0001','f2:sex','M'
put 'test01','rk0002','f1:name','lisi'
put 'test01','rk0002','f1:age',25
put 'test01','rk0002','f2:address','上海'
put 'test01','rk0002','f2:sex','F'
put 'test01','rk0003','f1:name','wangwu'
put 'test01','rk0003','f1:age',22
put 'test01','rk0003','f2:address','guangzhou'
put 'test01','rk0003','f2:sex','F'
put 'test01','rk0004','f1:name','赵六'
put 'test01','rk0004','f1:age',26
put 'test01','rk0004','f2:address','深圳'
put 'test01','rk0004','f2:sex','M'
put 'test01','0001','f1:name','tianqi'
put 'test01','0001','f1:age',29
put 'test01','0001','f2:address','hangzhou'
put 'test01','0001','f2:sex','M'
查询多条数据: scan
格式:
scan '表名'[,{COLUMNS=>['列族1','列族2'] || COLUMNS=>['列族1','列族2:列名'] || COLUMNS=>['列族1:列名','列族2:列名'], FORMATTER=>'toString', LIMIT=>N,STARTROW=>'起始rowkey', ENDROW=>'结束rowkey']
范围查询:
STARTROW=>'起始rowkey', ENDROW=>'结束rowkey'
包头不包尾
注意: 当只写STARTROW 不写 ENDROW, 表示 从指定的rowkey开始 直到结束
说明:
FORMATTER=>'toString' 用于显示中文
LIMIT=>N : 显示前N行数据
注意:
1- 每一个属性 都可以随意使用, 并不是必须组合在一起
2- 也不存在先后的顺序
3- 大小写是区分, 不要写错





格式:
count '表名'

格式:
scan '表名',{FILTER=>"过滤器的名字(比较运算符,比较器表达式)"}
常见的过滤器:
rowkey相关的过滤器:
RowFilter: 实现行键字符串的比较和过滤操作
PrefixFilter: rowkey的前缀过滤器
列族过滤器:
FamilyFilter: 列族过滤器
列名过滤器:
QualifierFilter: 列名过滤器
列值过滤器:
ValueFilter: 列值过滤器, 找到符合对应列的数据值
SingleColumnValueFilter: 在指定的列族和列名中进行比较具体的值, 将符合的数据全部都返回(包含条件的内容字段)
SingleColumnValueExcludeFilter: 在指定的列族和列名中进行比较具体的值, 将符合的数据全部都返回(不包含条件的内容字段)
比较运算符: > < >= <= !=
比较器:
比较器 比较器表达式
BinaryComparator binary:值 完整匹配字节数据
BinaryPrefixComparator binaryprefix: 值 匹配字节数据的前缀
NullComparator null 匹配null值
SubstringComparator substring:值 模糊匹配操作
HBase的 API 文档: https://hbase.apache.org/2.1/apidocs/index.html
需求:
scan 'test01',{FILTER=>"PrefixFilter('rk')"}

scan 'test01',{FILTER=>"QualifierFilter(=,'substring:a')"}

scan 'test01',{FILTER=>"ValueFilter(=,'substring:z')"} -- 不满足要求

scan 'test01',{FILTER=>"SingleColumnValueFilter('f1','name',=,'substring:z')"} -- 找到后, 将整个数据全部都返回了

scan 'test01',{FILTER=>"SingleColumnValueExcludeFilter('f1','name',=,'substring:z')"}



添加列族:
alter '表名' , NAME =>'新列族'[,VERSION=>N]
删除列族:
alter '表名','delete' =>'旧列族'
删除列族:

增加列族

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。