之前写的py脚本里面需要传日期参数:
python ./xxxx.py {dt}
# 正确应该为 python ./xxxx.py ${dt}
但是当时忘记引用变量了,结果在分区中有一个含有特殊字符的分区:
show partitions <table name>
>> dt=%7Bdt}
用传统的删除分区的语句无效,把单引号换成双引号也没有效果。经试了一番发现用传参时的变量就成功删除了。
-- alter table xxxx drop if exists partition (dt='%7Bdt') --*传统语法无效
-- alter table xxxx drop if exists partition (dt="%7Bdt") --*查阅资料说换双引号依旧无效
alter table <table name> drop if exists partition (dt='{dt}') --*直接赋值之前传入的变量 有效