有时在大数据处理时需要查询一些数据表的行数,一般我们会使用

select count(*) from <table>;

或者

select count(1) from <table>;

进行查询。

如果多个表项,可能会使用脚本来批量执行。

for line in $(cat tables.txt)
do
    echo "tablename :$line";
    value=$(hive --database databasename --hiveconf v=v1 -S -e "select count(*) from $line;")
    echo "rows count:$value"
done;

也可以使用后台并行的执行方式。

但是这种方式执行时间比较长,有两种比较快速的方式可以迅速地查到表的行数信息:

1.从数据库中查询元数据

select a.TBL_ID, a.TBL_NAME, b.PARAM_KEY, b.PARAM_VALUE from TBLS as a join TABLE_PARAMS as b where a.TBL_ID = b.TBL_ID and TBL_NAME="call_center" and PARAM_KEY="numRows";
+--------+-------------+-----------+-------------+
| TBL_ID | TBL_NAME    | PARAM_KEY | PARAM_VALUE |
+--------+-------------+-----------+-------------+
|    134 | call_center | numRows   | 60          |
+--------+-------------+-----------+-------------+

2.从HUE上直接查看

Paste_Image.png


小神david
16 声望1 粉丝