Я хочу передать значение раздела в качестве параметра.
SET runmdt = date_sub(current_date,5);
Приведенный ниже запрос работает нормально.
SELECT
cal_id,caller_name,location
from
amobe_tbl a
WHERE a.create_dt IN
(select DISTINCT create_dt from mt_call
WHERE create_dt between date_sub(current_date,20) and current_date)
and a.create_dt=${hiveconf:runmdt};
При вставке в таблицу разделов не работает.
SET runmdt = date_sub(current_date,5);
INSERT OVERWRITE TABLE amobe_tbl PARTITION (create_dt=${hiveconf:runmdt})
SELECT
cal_id,caller_name,location
from
amobe_tbl a
WHERE a.create_dt IN
(select DISTINCT create_dt from mt_call
WHERE create_dt between date_sub(current_date,20) and current_date)
and a.create_dt=${hiveconf:runmdt};
FAILED: строка ParseException 1:92 не может распознать ввод рядом с 'date_sub' '(' 'current_date' в константе create_dt - это тип данных date.
Помогите, пожалуйста.
Заранее спасибо.
WHERE a.create_dt IN (...) and a.create_dt=${hiveconf:runmdt}
) - person David דודו Markovitz   schedule 03.07.2017