"的替代品包含"在蜂巢

时间:2017-07-31 07:55:28

标签: hive hql

我需要编写一个hive查询,其中过滤器将位于字段的文本上。需要做类似text_field包含的内容(" pattern1"和" pattern2")或(" pattern3"和" pattern4")

我知道我们可以使用"喜欢"多次,但我希望有更好的选择。

如何在Hive中完成?

1 个答案:

答案 0 :(得分:1)

您可以使用rlike

如果A的任何(可能为空)子字符串与Java正则表达式B匹配,则为TRUE,否则为FALSE。例如,'foobar'RLIKE'foo'评估为TRUE,'foobar'RLIKE'^ f。* r $'也是如此。

WHERE (mycolumn rlike 'pattern1' AND mycolumn rlike 'pattern2') 
OR (mycolumn rlike 'pattern3' AND mycolumn rlike 'pattern4')