Sql Apache配置单元正则表达式中出现错误

Sql Apache配置单元正则表达式中出现错误,sql,regex,hadoop,hive,hortonworks-data-platform,Sql,Regex,Hadoop,Hive,Hortonworks Data Platform,我在配置单元中的正则表达式有问题,它无法识别“;” 发生的错误是: H110无法提交对账单。编译语句时出错: 失败:ParseException行3:29无法识别“^”附近的输入(“”?“ 在选择表达式中[错误\状态] 示例数据: VARIABLE;Tipo/Type; FECHA;DATE; ID_CLIENTE;CHAR; CUS_TYPE;CHAR; CUS_SUBTYPE;CHAR; NUEVOTITU;NUMBER; TITULAR;NUMBER; BAJATITU;NUMBER; .

我在配置单元中的正则表达式有问题,它无法识别“;”

发生的错误是:

H110无法提交对账单。编译语句时出错:
失败:ParseException行3:29无法识别“^”附近的输入(“”?“
在选择表达式中[错误\状态]

示例数据:

VARIABLE;Tipo/Type;
FECHA;DATE;
ID_CLIENTE;CHAR;
CUS_TYPE;CHAR;
CUS_SUBTYPE;CHAR;
NUEVOTITU;NUMBER;
TITULAR;NUMBER;
BAJATITU;NUMBER;
.
.
.
代码:

临时表:

temp.col_value
普鲁巴表:

prueba.variable prueba.tipotype

我想你需要避开
\
,所以试试这个

^(?:([^;]*)\\;?){1}
使用

如果需要不带“;”的列值,请使用:

SELECT regexp_extract(col_value, '^(([^\;]*)){1}', 1) VARIABLE,regexp_extract(col_value, '(([^\;]*)\;){2}', 2) TipoType from temp;
编辑:我已经附上了截图。它在我的系统上运行良好。不知道为什么不在你的系统上执行


不,同样的问题仍然存在。示例数据聚合。感谢您的回答我想hadoop中没有非捕获组,请改用捕获组:
(?:
=>
。尝试使用
^([^;]*);?)
使用限制量词。发生了相同的错误,我正在测试上的表达式,没有问题,但不是配置单元:(错误H110无法提交语句。编译语句时出错:失败:ParseException行3:27无法识别“^”(“”)附近的输入(在选择表达式[错误\u状态]中)感谢您的回答抱歉..请尝试此操作…从abc中选择regexp_extract(名称,'^([^\]*)\;){1}',1)变量,regexp_extract(名称,'^([^\]*)\;){2}',1)TipoType;:(同样的错误也发生了,我不明白为什么不处理表达式配置单元。非常感谢您的回答。您是否在包含insert语句的情况下尝试它?因为它在我的系统上运行良好。@DiegoVL能否发布您的create table temp和prueba查询。因为它在包含insert查询的情况下在我的系统上运行良好。
^(?:([^;]*)\\;?){1}
SELECT
regexp_extract(col_value, '^(([^\;]*)\;){1}', 1) VARIABLE,
regexp_extract(col_value, '^(([^\;]*)\;){2}', 1) TipoType
from temp;
SELECT regexp_extract(col_value, '^(([^\;]*)){1}', 1) VARIABLE,regexp_extract(col_value, '(([^\;]*)\;){2}', 2) TipoType from temp;