欢迎投稿

今日深度:

HBase shell执行批量脚本,hbaseshell脚本

HBase shell执行批量脚本,hbaseshell脚本


场景描述:

HBase namespace中有大量无用的小表,占用了过多的block,需要批量删除,了解了一下有两种方式:

1、使用通配符

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

hbase(main):018:0> disable 'emp'
0 row(s) in 1.4580 seconds


hbase(main):019:0> drop 'emp'
0 row(s) in 0.3060 seconds

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

hbase(main):020:0> exists 'emp'
Table emp does not exist

0 row(s) in 0.0730 seconds

drop_all

这个命令是用来在给出删除匹配“regex”表。它的语法如下:

hbase> drop_all t.*’ 

注意:要删除表,则必须先将其禁用。

示例

假设有一些表的名称为raja, rajani, rajendra, rajesh, 和 raju。

hbase(main):017:0> list
TABLE
raja
rajani
rajendra 
rajesh
raju
9 row(s) in 0.0270 seconds

所有这些表以字母raj开始。首先使用disable_all命令禁用所有这些表如下所示。

hbase(main):002:0> disable_all 'raj.*'
raja
rajani
rajendra
rajesh
raju
Disable the above 5 tables (y/n)?
y
5 tables successfully disabled

现在,可以使用 drop_all 命令删除它们,如下所示。

hbase(main):018:0> drop_all 'raj.*'
raja
rajani
rajendra
rajesh
raju

Drop the above 5 tables (y/n)?

y
5 tables successfully dropped

2、使用脚本

1、首先,编写一个文本文件disable_drop_htable.txt: [plain] view plain copy
  1. disable 'lcsk.test_table' 
  2. drop   'lcsk.test_table'
  3. exit
给脚本赋予执行权限,然后执行:

hbase shell disable_drop_htable.txt

即可。

















www.htsjk.Com true http://www.htsjk.com/hbase/26042.html NewsArticle HBase shell执行批量脚本,hbaseshell脚本 场景描述: HBase namespace中有大量无用的小表,占用了过多的block,需要批量删除,了解了一下有两种方式: 1、使用通配符 用drop命令可以删除表。...
相关文章
    暂无相关文章
评论暂时关闭