Ошибка: ошибка при компиляции оператора: СБОЙ: Строка SemanticException 1: undefined: -1 Неверная функция 'replace' - PullRequest
0 голосов
/ 06 июня 2019

Я использую HIVE

Я получаю сообщение об ошибке ниже всякий раз, когда запускаю свой код:

Error while compiling statement: FAILED: SemanticException line 1:undefined:-1 Invalid function 'replace'

Вот мой код:

select 
ecat.count_category, eact.count_eventaction, elabel.count_eventlabel,
g.*,h.*  from db1.table1 g 
join (select count(distinct eventcategory) count_category, g.session_id from db1.table1 g group by g.session_id ) ecat on ecat.session_id = g.session_id
join (select count(distinct eventaction) count_eventaction,  g.session_id from db1.table1 g group by g.session_id) eact on eact.session_id = g.session_id
join (select count(distinct eventlabel) count_eventlabel, g.session_id from db1.table1 g group by g.session_id ) elabel on elabel.session_id = g.session_id
join (select replace(h.display_name, '\'', '') display_name, h.ncct_cat, h.ncct_cat_cd, h.ncct_trmnt_id, h.oop_proc_cd, replace(h.oop_diag_cd, '\'','') oop_diag_cd from db2.table2 h  
  where replace(h.display_name, '\'', '') =  'Ultrasound, Abdomen (Complete)' and 
   replace(h.client_code, '\'', '')='MASTER' ) h on 
   replace(h.display_name, '\'', '') = g.eventLabel and g.eventAction='ENCOUNTER';

Есть идеи или предложения, почему я продолжаю получать это сообщение об ошибке? Я использую HIVE.

1 Ответ

1 голос
/ 06 июня 2019

Hive replace функция введена начиная с версии 1.3.0.

select replace(string("kkl'll"),'\'','')="kk";
false

Пожалуйста, проверьте версию улья , которую вы используете в своей среде.

Чтобы обойти эту проблему, используйте regexp_replace fucntion.

select regexp_replace(string("kkl'll"),'\'','')="kk";
false
...