帮我写一个shell脚本 ,批量统计hive库名为fdp库下表名模糊匹配db_的表数据量,输出表名,数量,保存为txt文件
时间: 2024-03-11 19:50:00 浏览: 90
好的,以下是一个简单的shell脚本,可以实现批量统计hive库名为fdp库下表名模糊匹配db_的表数据量,并将结果保存为txt文件:
```
#!/bin/bash
# 连接hive的参数
HIVE_HOST="localhost"
HIVE_PORT="10000"
HIVE_USER=""
HIVE_PASS=""
HIVE_DB="fdp"
# 匹配的表名
TABLE_NAME="db_*"
# 输出结果的文件名
OUTPUT_FILE="table_data.txt"
# 连接hive,执行查询,并将结果保存到文件
beeline -u jdbc:hive2://${HIVE_HOST}:${HIVE_PORT}/${HIVE_DB} -n ${HIVE_USER} -p ${HIVE_PASS} -e "show tables like '${TABLE_NAME}';" | while read table; do
data=$(beeline -u jdbc:hive2://${HIVE_HOST}:${HIVE_PORT}/${HIVE_DB} -n ${HIVE_USER} -p ${HIVE_PASS} -e "select count(*) from ${table};")
echo "${table} ${data}" >> ${OUTPUT_FILE}
done
```
你可以将以上脚本保存为一个文件,例如名为`count_table_data.sh`,然后在终端中执行该脚本即可。注意,执行前需要先修改脚本中的连接hive的参数、匹配的表名和输出结果的文件名等参数。
阅读全文