我正在尝试使用count命令获取hbase中表列表的计数。我现在把所有命令放在input.txt中。
样本输入
count 'test.table1', INTERVAL => 10000000, CACHE => 10000000
count 'test.table2', INTERVAL => 10000000, CACHE => 10000000
命令
hbase shell ./input.txt
有没有一种方法可以编写一个shell脚本,这样我就可以在nohup.out上运行,并通过shell脚本获得如下输出,这样我就可以对任意数量的表运行它:
table1,500000
table2,300
感谢您在这方面的帮助
1条答案
按热度按时间kx5bkwkv1#
这段代码可能有助于获取hbase中所有表的记录数。
#!/bin/bash echo 'list' | hbase shell | sed -e '1,/TABLE/d' -e '/seconds/,$d' | while IFS='' read -r line || [[ -n "$line" ]]; do echo "count '$line'" | hbase shell | tail -n 1 | xargs echo "$line,">> ./tableCount.log done
在hbase 1.1.8中进行了测试,输出将存储在tablecount.log中。