Hive删除含有特殊字符/转义字符的分区

之前写的py脚本里面需要传日期参数:

python ./xxxx.py {dt}

# 正确应该为 python ./xxxx.py ${dt}

但是当时忘记引用变量了,结果在分区中有一个含有特殊字符的分区:

show partitions 
>> dt=%7Bdt}

用传统的删除分区的语句无效,把单引号换成双引号也没有效果。经试了一番发现用传参时的变量就成功删除了。

-- alter table xxxx drop if exists partition (dt='%7Bdt')  --*传统语法无效
-- alter table xxxx drop if exists partition (dt="%7Bdt")  --*查阅资料说换双引号依旧无效

alter table 
drop if exists partition (dt='{dt}') --*直接赋值之前传入的变量 有效

 

你可能感兴趣的:(Hive)