HBase Note4:Shell命令使用

HBase Note4:Shell命令使用

常用命令

# 帮助命令 help # 查看当前数据库中的表 hbase:001:0> list # 查看当前用户及对应所属组 whoami
 

表操作

1. 创建表

# 创建表 create 'student','infor' # 插入数据 put 'student','1001','infor:sex','male' put 'student','1001','infor:age','18' put 'student','1002','infor:name','henggao' put 'student','1002','infor:sex','male' put 'student','1002','infor:age','18' # 查看表
notion image

2. 插入数据

# 插入数据 put 'student','1001','infor:sex','male' put 'student','1001','infor:age','18' put 'student','1002','infor:name','henggao' put 'student','1002','infor:sex','male' put 'student','1002','infor:age','18'

3. 查看表

全表扫描

scan 'student'
notion image

按指定的rowkey查看

scan 'student',{STARTROW => '1001',STOPROW=>'1001'}
notion image
scan scan命令可以按照rowkey的字典顺序来遍历指定的表的数据。 scan ‘表名’:默认当前表的所有列族。 scan ‘表名’,{COLUMNS=> [‘列族:列名’],…} : 遍历表的指定列 scan '表名', { STARTROW => '起始行键', ENDROW => '结束行键' }:指定rowkey范围。如果不指定,则 会从表的开头一直显示到表的结尾。区间为左闭右开。 scan '表名', { LIMIT => 行数量}: 指定返回的行的数量 scan '表名', {VERSIONS => 版本数}:返回cell的多个版本 scan '表名', { TIMERANGE => [最小时间戳, 最大时间戳]}:指定时间戳范围 注意:此区间是一个左闭右开的区间,因此返回的结果包含最小时间戳的记录,但是不包含最大时间戳记录 scan '表名', { RAW => true, VERSIONS => 版本数} 显示原始单元格记录,在Hbase中,被删掉的记录在HBase被删除掉的记录并不会立即从磁盘上清除,而是先被打 上墓碑标记,然后等待下次major compaction的时候再被删除掉。注意RAW参数必须和VERSIONS一起使用,但 是不能和COLUMNS参数一起使用。 scan '表名', { FILTER => "过滤器"} and|or { FILTER => "过滤器"}: 使用过滤器扫描 HBase(main):008:0> scan 'student' HBase(main):009:0> scan 'student',{STARTROW => '1001', STOPROW => '1001'} HBase(main):010:0> scan 'student',{STARTROW => '1001'}

4. 查看表结构(describe)

describe 'student'
notion image

5. 更新指定字段的数据(put)

put 'student','1001','info:name','xiaoyanjing'

6. 查看“指定行”或“指定列族:列”的数据(get)

获取指定行的数据

get 'student','1001'
notion image

获取指定字段信息

get 'student','1001','infor:name'