Я пытался запустить hql-файлы, как показано ниже, но получаю сообщение об ошибке noviablealtexception
val QUERY = fromFile(s"$SQLDIR/select_cust_info.hql").getLines.mkString
sqlContext.sql(s"$QUERY").show()
Не могли бы вы помочь, как его запустить?
в соответствии с запросом select_cust_info.hql будетвот так
set hive.execution.engine=mr;
--new records
insert into cust_info_stage
select row_number () over () + ${hiveconf:maxid} as row_id , name, age, sex, country , upd_date, create_date
from ${hiveconf:table} r
left join cust_dim d on id=uid
where not exists ( select 1 from cust_info c where c.id=r.id);
--upd record
insert into cust_info_stage
select row_id , name, age, sex, country , upd_date, create_date
from ${hiveconf:table} r
inner join cust_info_stage on
left join cust_dim d on id=uid
where not exists ( select 1 from cust_info c where c.id=r.id);
!quit
выше hql - это просто пример, я хочу вызвать такие hqls из sqlContext.
Теперь следующий уровень, который я проверю, если.hqls определил hiveconf, как передать эти переменные в sqlContext.