1/5 HBase( 八 )

5.5.4 删除某个列族中的某个列delete# 语法delete '表名', '行键', '列族名:列名'delete 'users','xiaoming','info:age'create 'tbl_test', 'columnFamily1'put 'tbl_test', 'rowKey1', 'columnFamily1:column1', 'value1'put 'tbl_test', 'rowKey1', 'columnFamily1:column2', 'value2'delete 'tbl_test', 'rowKey1', 'columnFamily1:column1'5.5.5  删除某行数据deleteall# 语法deleteall '表名', '行键'# 示例deleteall 'users', 'xiaoming'5.5.6 清空整个表的数据truncate

先disable表,然后再drop表,最后重新create表
truncate '表名'
1/5 HBase

文章插图
5.5.7 自增incr# 语法incr '表名', '行键', '列族:列名', 步长值# 示例# 注意:incr 可以对不存的行键操作 , 如果行键已经存在会报错 , 如果使用put修改了incr的值再使用incr也会报错# ERROR: org.apache.hadoop.hbase.DoNotRetryIOException: Field is not a long, it's 2 bytes wideincr 'tbl_user', 'xiaohong', 'info:age', 1
1/5 HBase

文章插图
5.5.8 计数器get_counter# 点击量:日、周、月create 'counters', 'daily', 'weekly', 'monthly'incr 'counters', '20110101', 'daily:hits', 1incr 'counters', '20110101', 'daily:hits', 1get_counter 'counters', '20110101', 'daily:hits'5.5.9 修饰词1、修饰词# 语法scan '表名', {COLUMNS => [ '列族名1:列名1', '列族名1:列名2', ...]}# 示例scan 'tbl_user', {COLUMNS => [ 'info:id', 'info:age']}2、TIMESTAMP 指定时间戳# 语法scan '表名',{TIMERANGE=>[timestamp1, timestamp2]}# 示例scan 'tbl_user',{TIMERANGE=>[1551938004321, 1551938036450]}3、VERSIONS
默认情况下一个列只能存储一个数据,后面如果修改数据就会将原来的覆盖掉,可以通过指定VERSIONS时HBase一列能存储多个值 。
create 'tbl_test', 'columnFamily1'describe 'tbl_test'# 修改列族版本号alter 'tbl_test', { NAME=>'columnFamily1', VERSIONS=>3 }put 'tbl_test', 'rowKey1', 'columnFamily1:column1', 'value1'put 'tbl_test', 'rowKey1', 'columnFamily1:column1', 'value2'put 'tbl_test', 'rowKey1', 'columnFamily1:column1', 'value3'# 默认返回最新的一条数据get 'tbl_test','rowKey1','columnFamily1:column1'# 返回3个get 'tbl_test','rowKey1',{COLUMN=>'columnFamily1:column1', VERSIONS=>3}# 返回2个get 'tbl_test','rowKey1',{COLUMN=>'columnFamily1:column1', VERSIONS=>2}4、STARTROW
ROWKEY起始行 。会先根据这个key定位到region,再向后扫描
# 语法scan '表名', { STARTROW => '行键名'}# 示例scan 'tbl_user', { STARTROW => 'vbirdbest'}5、STOPROW :截止到STOPROW行,STOPROW行之前的数据,不包括STOPROW这行数据# 语法scan '表名', { STOPROW => '行键名'}# 示例scan 'tbl_user', { STOPROW => 'xiaoming'}6、LIMIT 返回的行数# 语法scan '表名', { LIMIT => 行数}# 示例scan 'tbl_user', { LIMIT => 2 }5.5.10 FILTER条件过滤器
过滤器之间可以使用AND、OR连接多个过滤器 。
1、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')"

推荐阅读