Hive查询regexp_extract失败

时间:2015-02-05 07:40:05

标签: regex hadoop hive

我尝试使用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

2 个答案:

答案 0 :(得分:1)

终于想通了, 在蜂巢中你需要逃离分号。

希望这有助于某人。

编辑:这里的答案有效:

regexp_extract(concat(column_name,'\;'),'.*a2=?(.*?)\;',1)

我正在连接&#39 ;;'因为我的逻辑需要它。

答案 1 :(得分:0)

这应该在下面的脚本中用'\ 073'替换分号。

Apache Hive(版本1.2.1000.2.4.3.3-2)

{{1}}