HBase常用命令

hbase shell命令:进入hbase客户端

create命令:创建表

create ‘<table name>’,’<column family1>’,’<column family2>’

list 命令:列出表

列出所有表:list

正则匹配: list 'abc.*'

注:字符串用单引号或双引号都可以,但不能不用

 

desc命令:描述表

desc 'table_name'

count 命令:列出表行数

count ‘<table name>’

put命令:插入与更新

put ’<table name>’,’row1’,’<colfamily:colname>’,’<value>’
如:put 'emp','1','personal data:name','raju'

scan命令:扫描表

scan 'table' 查看所有记录

scan 'table', LIMIT => 5 查看前5条记录

scan 'table', COLUMNS => ['cf:a', 'cf:b'], LIMIT => 5 查看指定列的前5条记录


scan 'test1', FILTER=>"ValueFilter(=,'binary:sku188')"  扫描值等于sku188的记录

scan 'test1', FILTER=>"ValueFilter(=,'substring:88')" 扫描值包含88的记录

FILTER用法较复杂,参考:https://blog.csdn.net/liuxiao723846/article/details/73823056

 

scan 'table', VERSIONS => 3 扫描整张表,并指定最大版本数为3

 

get命令:读取

get ’<table name>’,’row1
如:
get 'emp', '1'

 使用get读取指定列:

hbase>get 'table name', rowid’, {COLUMN => column family:column name ’}

如:hbase(main):015:0> get 'emp', 'row1', {COLUMN=>'personal:name'}

其它写法: get
'table name', rowid’, column family:column name
get 'table name', rowid’, COLUMN => column family:column name 
注: COLUMN 必须大写, 使用花括号可以指定其它查询条件,比如 TIMERANGE 等

delete命令:删除数据

delete ‘<table name>’, ‘<row>’, ‘<column name >’[, <time stamp>]

deleteall命令用于删除一行数据
deleteall ‘<table name>’, ‘<row>’

disable+drop命令:删除表

用drop命令可以删除表。在删除一个表之前必须先将其禁用。

hbase(main):018:0> disable 'emp'  hbase(main):019:0> drop 'emp' 

使用exists 命令验证表是否被删除。

hbase(main):020:0> exists 'emp' Table emp does not exist 
disable_all + drop_all可以使用正则匹配批量删除表
如:
disable_all 'raj.*'
drop_all 'raj.*'

truncate命令:清空表

此命令将禁止、删除,再重新创建一个表,最张效果就是清空整张表。truncate 的语法如下:

hbase> truncate 'table name'

list_snapshots: 列出所有快照

snapshot命令:创建指定表的快照(不产生文件复制)
snapshot 'tableName','snapshotName'

delete_snapshot: 删除快照

delete_snapshot 'snapshotName'

clone_snapshot命令:从指定的快照生成新表(克隆)
由于不会产生数据复制,所以最终用到的数据不会是之前的两倍。
clone_snapshot 'snapshotName','newTableName'

restore_snapshot命令:将指定快照内容替换当前表结构或数据
restore_snapshot 'snapshotName'

snapshot等命令:重命名表

hbase shell> disable 'tableName'
hbase shell> snapshot 'tableName', 'tableSnapshot'
hbase shell> clone_snapshot 'tableSnapshot', 'newTableName'
hbase shell> delete_snapshot 'tableSnapshot'
hbase shell> drop 'tableName'

void rename(HBaseAdmin admin, String oldTableName, String newTableName) {
String snapshotName = randomName();
admin.disableTable(oldTableName);
admin.snapshot(snapshotName, oldTableName);
admin.cloneSnapshot(snapshotName, newTableName);
admin.deleteSnapshot(snapshotName);
admin.deleteTable(oldTableName);
}

 

其它

CTRL + S 停止正在运行的任务

CTRL + Q 继续正在运行的任务

在hbase终端,往前删除时要同按Ctrl + Backspace,字符串可以使用单引号或者双引号。

 

参考:https://www.yiibai.com/hbase/hbase_scan.html

 

转载于:https://www.cnblogs.com/chenggang816/p/10251377.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值