我尝试使用regexp_extract从我的表中的列(字符串数据类型)中提取我所需的数据,我正在使用此查询:
select regexp_extract(concat(column_name,;),'.*a2=?(.*?);',1) from table;
但是我收到了一个错误:
FAILED: ParseException line 1:43 cannot recognize input near '.' '*' 'a2' in select expression
我的智慧结束了,有人能告诉我我做错了什么吗? 可以在列上使用regexp_replace吗? 任何帮助将不胜感激。
我使用的是hive版本0.13.1
答案 0 :(得分:1)
终于想通了, 在蜂巢中你需要逃离分号。
希望这有助于某人。
编辑:这里的答案有效:
regexp_extract(concat(column_name,'\;'),'.*a2=?(.*?)\;',1)
我正在连接&#39 ;;'因为我的逻辑需要它。
答案 1 :(得分:0)
这应该在下面的脚本中用'\ 073'替换分号。
Apache Hive(版本1.2.1000.2.4.3.3-2)
{{1}}