配置单元查询 regexp_extract 失败
Hive query regexp_extract failing
我正在尝试使用 regexp_extract 从我的 table 中的列(字符串数据类型)中提取我需要的数据,我正在使用此查询:
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
终于想通了,
在配置单元中你需要转义分号。
希望这对某人有所帮助。
编辑:这是有效的答案:
regexp_extract(concat(column_name,'\;'),'.*a2=?(.*?)\;',1)
我正在连接一个“;”因为我的逻辑需要它。
这应该在下面的脚本中用“\073”替换分号。
Apache Hive(版本 1.2.1000.2.4.3.3-2)
select regexp_extract(concat("columna2=blablablatest",'3'),'.*a2=?(.*?)3',1);
我正在尝试使用 regexp_extract 从我的 table 中的列(字符串数据类型)中提取我需要的数据,我正在使用此查询:
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
终于想通了, 在配置单元中你需要转义分号。
希望这对某人有所帮助。
编辑:这是有效的答案:
regexp_extract(concat(column_name,'\;'),'.*a2=?(.*?)\;',1)
我正在连接一个“;”因为我的逻辑需要它。
这应该在下面的脚本中用“\073”替换分号。
Apache Hive(版本 1.2.1000.2.4.3.3-2)
select regexp_extract(concat("columna2=blablablatest",'3'),'.*a2=?(.*?)3',1);