hive表批处理
对hive中的表进行批量处理,如下是一个简单的脚本
#给定一个hive数据库名,生成它的所有表的create SQL语句,并导出到文件 create_fun(){ hive -e "show create table $1.$2">>$3 } #显示一个表中所有的分区 show_partitions(){ hive -e "show partitions $1.$2 ;">>$3 } #将一个表中所有分区重命名 rename_partition(){ start_day=$3 end_day=$4 while [ ${start_day} -le ${end_day} ] do day_int=`date +"%Y%m%d" -d "${start_day}"` day_str=`date +"%Y-%m-%d" -d "${start_day}"` hive -e "alter table $1.$2 PARTITION (dt='${day_int}') RENAME TO PARTITION (dt='${day_str}');" start_day=`date +"%Y%m%d" -d "${start_day} 1 days" ` done } #删除一个表中的分区 drop_partition(){ hive -e "alter table $1.$2 drop PARTITION (dt='$3')" } #更新一个hive表的列分隔符 modify_separator(){ hive -e "alter table $1.$2 set SERDEPROPERTIES('field.delim'='\001');" } #指定一个数据库,查询出所有table,并对符合条件的table进行处理 database(){ basename=$1 mid_file=mid.txt result_file=${basename}.txt match=_ods hive -e "use ${basename};show tables">${mid_file} sed -i '/WARN/d' ${mid_file} cat ${mid_file} |grep ${match} |while read line do drop_partition ${basename} $line $2 done rm -rf ${mid_file} } #program start # database $1 $2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南