帮我写一个shell脚本 ,批量统计hive库名为fdp库下表名模糊匹配db_的表数据量,结果输出位csv文件
时间: 2024-03-11 19:48:50 浏览: 77
好的,以下是一个 Shell 脚本,可以实现批量统计 Hive 库名为 fdp 库下表名模糊匹配 db_ 的表数据量,并将结果输出到一个 CSV 文件中:
```bash
#!/bin/bash
# 连接 Hive 的参数
hive_host=<your_hive_host>
hive_port=<your_hive_port>
hive_user=<your_hive_user>
hive_password=<your_hive_password>
# 待统计的库名和表名
db_name=fdp
table_pattern="db_"
# 查询表名
query="use $db_name; show tables like '$table_pattern';"
tables=$(beeline -u "jdbc:hive2://$hive_host:$hive_port/" -n $hive_user -p $hive_password -e "$query" | tail -n +3)
# 统计每个表的数据量,并将结果输出到 CSV 文件
echo "表名,数据量" > result.csv
for table in $tables; do
count_query="use $db_name; select count(*) from $table;"
count=$(beeline -u "jdbc:hive2://$hive_host:$hive_port/" -n $hive_user -p $hive_password -e "$count_query" | tail -n +3)
echo "$table,$count" >> result.csv
done
```
执行以上脚本后,会在当前目录下生成一个名为 result.csv 的文件,其中包含了每个表的数据量信息,以逗号分隔。你可以根据自己的需要修改输出的 CSV 文件名和路径。
阅读全文