hbase 命令的 Shell 脚本 |数“表”

Posted

技术标签:

【中文标题】hbase 命令的 Shell 脚本 |数“表”【英文标题】:Shell script for hbase commands | count 'table' 【发布时间】:2017-07-28 10:57:21 【问题描述】:

我正在尝试使用 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】:

这段代码可能会帮助您获取 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 中。

【讨论】:

您好,感谢您提供的信息。那么我们是否将表名列表作为文件中的输入传递? 不行,上面的代码先获取HBase中的表列表,然后再获取no。每个表的行数。

以上是关于hbase 命令的 Shell 脚本 |数“表”的主要内容,如果未能解决你的问题,请参考以下文章

hbase shell基本命令

如何使用 shell 脚本加载 Hbase 表

Spark-submit提交任务,封装shell脚本,shell脚本创建HBase表,批量导hive表

hbaseshell命令显示已杀死

hbase怎么查询表里的总纪录数

HBase Shell 常用命令及例子