Я хочу удалить раздел в 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()
на фиксированный номер, он будет работать нормально. Есть ли способ сделать это без жесткого кодирования значения раздела?