У меня есть поле улья, в котором хранятся данные в этом формате.
co_mx
["2.00","7570180962446"]
[3,"7566180246570"]
[6,"7577182138618"]
[10.00,"7573181367421"]
[10,"7573181433469"]
Я хочу извлечь второй элемент в списке, то есть строку чисел большего размера.
Когда я запускаю код в терминале Hive cli, я использую только два управляющих символа (\), и это работает, но я обнаружил, что при использовании hive -e
для запуска кода мне нужно использовать 4 управляющих символа, но жирную часть кода, т.е. then
часть оператора case вызывает некоторые проблемы, которые я не могу отладить.
select
cast(
trim(case
when instr(split(split(co_mx,'\\\\,')[1],'\\\\]')[0],'\\\\"')>0 then
**split(split(split(co_mx,'\\\\,')[1],'\\\\]')[0],'\\\\"')[1]**
else split(split(co_mx,'\\\\,')[1],'\\\\]')[0]
end)
as string) as id
from input_table
Ценю помощь