HBase自动化脚本操作

在集群环境下,很多数据的处理不能全靠手动输入命令,而是需要批量处理,在HBase中,提供了多种方式,可以实现批处理。

批处理命令

可以通过建立一个文本文件,将要执行的HBase命令顺次写入,通过"hbase shell filename"这种方式来执行,以达到批量处理的效果。

例如,这里创建一张新表,然后在表中写入数据,并查询写入后的结果:

$ nano hbase_commandlist

在打开的文本文件中,输入一些hbase命令。

然后使用如下批处理命令来执行:

$ hbase shell ~/hbase_commandlist

基于Shell脚本

通过echo "create 'tablename','name'" | hbase shell这种形式,可以将Shell脚本与HBase Shell命令关联起来。

例如,这里要批量创建5 张表,如果采用前面的批处理方法,创建命令将要写10遍,而这里,只通过for循环,就可以完成。

先编写一个Shell脚本,hbase_shell.sh:

$ nano hbase_shell.sh

编辑Shell脚本内容如下:

#!/bin/sh

for i in tb1 tb2 tb3 tb4 tb5
  do
     echo "begin create table $i"
     echo "create '$i','name'" | hbase shell
     echo "end create table $i"
  done

echo "list" | hbase shell

在执行前,要先给该脚本赋予执行权限:

$ chmod u+x hbase_shell.sh

然后执行该脚本:

$ ./hbase_shell.sh

《Spark原理深入与编程实战》