HIVE获取表的大小和修改日期
1 ### 获取表的大小 2 hdfs dfs -du /user/hive/warehouse/database_name.db/ > 360_du 3 ### 获取表的修改日期 4 hdfs dfs -ls /user/hive/warehouse/database_name.db/ > 360_ls
### 7K+个表测试
### shell处理,效率低,执行时间: 7m32.664s
1 ### 获取表的大小和修改日期 2 cat 360_du|while read line 3 do 4 str=$(echo ${line}|awk -F"[ /]" '{print tolower($NF)"|"$1}') 5 table=$(echo ${str}|awk -F'|' '{print $1}') 6 day=$(grep -iw ${table} 360_ls|awk '{print $6}') 7 echo ${str}"|"${day} 8 done
### perl处理,效率超高,执行时间: 0m0.298s
1 ### 获取表的大小和修改日期 2 #!/usr/bin/perl 3 use strict; 4 my %table_du = map{my @m = split /\s+/;$m[0],$m[1]} `awk -F'[ /]' '{print tolower(\$NF),\$1}' 360_du`; 5 my %table_ls = map{my @m = split /\s+/;$m[0],$m[1]} `awk '{print tolower(\$NF),\$6}' 360_ls|awk -F\/ '{print \$NF}'`; 6 7 for (keys %table_du){ 8 print "$_|$table_du{$_}|$table_ls{$_}\n"; 9 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步