使用shell脚本批量删除hive表

  • Post author:
  • Post category:其他


这两天由于测试程序,在hive的库里面建了好多表,测试完之后这些表就都没用了,几十个表要一个一个手动删除是很痛苦的,于是想到使用shell脚本来自动批量删除。

另外库里面的有些表是还有用的,有些表是没有用的,所以不能清库,所以我想到将要删除的表的表名写入一个文件中,然后使用shell来去读这个文件,从而批量删除指定要删除的表。

脚本如下:

#!/bin/bash

cat dtables.txt | while read line
do
echo "drop table $line;" >>tt.txt
done
tables=`cat tt.txt`
hive -e "use default;$tables"
rm -f tt.txt

首先,按行读取dtables.txt(事先将要删除的表名写入该文件)文件,即读取每一个要删除的表的表名;

然后,循环将删表语句”drop table tablename;”按行写入tt.txt这个临时文件中,即为每个待删除的表生成一个删表语句;

之后,启动hive,见所有的删表语句输出,执行删表操作;

最后,删除临时表tt.txt。

就这样,一个简单的批量删除hive表的脚本就完成了。


欢迎关注我的公众号——数据杨公子。本公众号会分享包括但不限于大数据、数据治理、元数据管理、python 等方面的技术文章,主旨是和大家一起共同成长,用技术来认识我们这个数据的时代。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JKJ6DjY6-1582591094615)(https://img.hacpai.com/file/2020/02/image-346a3140.png)]



版权声明:本文为big_data1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。