java命令行方式调用hbase shell中的命令

今天有一个需求是需要在java代码中调用hbase shell中的几个简单命令,脑海中的第一个念头就是导包,获取hbase连接,使用java api。但是下一个瞬间就把这种方法舍弃掉了,因为只是简单的调用几个查看命令而已,这种方式太过复杂,不值得。

所期望的方式就像调用cmd命令一样,比如说在linux环境下

sh -c "cmd..."
sh -c "ps -ef | grep xxxx"

java 代码中直接调用这个命令就行了

但是,hbase shell的命令是需要进入shell窗口的
java命令行方式调用hbase shell中的命令_第1张图片
这种没法在java代码中调用啊,在网上找到了一个方法是

1、把想要调用的命令,写进一个文本中,
	比如aaa.txt,内容如下:
	
	list
	exit
2、运行: hbase shell aaa.txt 
就可以获得所有的list

这种方式用着肯定不爽啊,我总不能每次要新建一个文件把要运行的命令写进去,运行完之后再把这个文件删除,虽然不想承认,但是我已经想用这种方式,因为没有其他办法啊

大神不愧是大神,请教组长之后,才知道可以这样,还是自己太菜了

echo "list" | hbase shell

这样写就完全可以了,真是活到老学到老。。。

你可能感兴趣的:(java,hbase)