繁体   English   中英

在Hive中使用regexp_extract

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM