我想删除Hive中的分区,其值在另一个表中或由函数即时创建。例如:
ALTER TABLE
table_1
DROP IF EXISTS
PARTITION (dt = FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_SUB(CURRENT_DATE, 63),'yyyy-MM-dd'), 'yyyyMMdd'))
或者类似这样的东西:
ALTER TABLE
table_1
DROP IF EXISTS
PARTITION (dt = SELECT date FROM table_2 LIMIT 1))
但是,这将返回以下错误:
cannot recognize input near 'FROM_UNIXTIME' '(' 'UNIX_TIMESTAMP' in constant
如果我用固定数字替换对FROM_UNIXTIME()
的整个呼叫,则可以正常工作。有没有一种方法可以对分区的值进行硬编码?
答案 0 :(得分:0)