[英]Using regexp_extract in Hive
我试图从蜂巢表中找到特定列不包含空值或\\ N值或STX字符'\\ 002'的行。 目标是找到哪些行包含除这三个之外的一些字符。
我试过这个hive查询:
select column1,length(regexp_replace(column1,'\N|\002|NULL','')) as value
FROM table1 LIMIT 10;
我在以下情况下期待零,但我得到以下内容:
column1 value
NULL NULL
0
NULL NULL
0
\N\N\N\N\N\N\N\N 8
NULL NULL
\N\N\N\N\N\N\N\N 8
NULL NULL
NULL NULL
\N\N\N 3
对于上述情况,有人可以帮我正确的正则表达式吗?
谢谢。
拉维
看起来hive正在使用Java的正则表达式引擎,因此问题似乎与正则表达式本身有关,更具体地说是在转义序列中。
尝试以下操作,如果它不起作用,请告诉我:
(?:(?:\\\\N)+|\002|NULL)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.