HBase学习笔记2 - HBase shell常用命令

时间:2021-04-02 05:56:25

转载请标注原链接:http://www.cnblogs.com/xczyd/p/6639397.html

扫表的时候限定行数

scan 'TABLE_NAME', { LIMIT =>  }

即为扫表的时候,限定只输出五条数据

==============================================

删表

删表需要执行两个步骤,即disable和drop,具体如下:

disable 'TABLE_NAME'
drop 'TABLE_NAME'

当然disable后的表还可以重新enable起来,命令为:

enable 'TABLE_NAME'

==============================================

给用户赋权限

grant 'USER_NAME', 'RWXCA', 'TABLE_NAME'

较常见的就是给一个用户赋予某张表的权限,其中'RWXCA'每个字母表示一种权限类型,R(Read)是读,W(Write)是写,X(Exec)是执行,C(Create)是创建,A(Admin)是管理员权限

也有开启行级和单元格级别权限的命令,但是不是很常用,具体如下:

grant 'USER_NAME', 'RWXCA', 'TABLE_NAME', 'f1', 'col1'

==============================================

关闭表的WAL log

在HBase的Java API中,可以通过如下的方法来指定写入时不使用WAL log:

Put put = new Put(rowKey);
put.setWriteToWAL(false);

在HBase shell中,可以执行如下命令来关闭一张表的WAL log:

alter 'TABLE_NAME', DURABILITY => 'SKIP_WAL'

注意此命令需要这张表的所有region下线后再上线才能生效(如果不想重启集群的话,就只能disable再enable一个表)

DURABILITY可选的值有ASYNC_WAL, FSYNC_WAL, SKIP_WAL,SYNC_WAL(默认值),USE_DEFAULT等

具体每个值的意义可以参考官网的注释:http://hbase.apache.org/0.94/apidocs/org/apache/hadoop/hbase/client/Durability.html

或者直接查看hbase源码中Durability这个枚举类型的实现