2017-07-31 154 views
0

我需要編寫一個配置單元查詢,其中的過濾器位於字段的文本中。需要做一些類似text_field包含的內容(「pattern1」和「pattern2」)或(「pattern3」和「pattern4」)Hive中的「contains」的替代方案

我知道我們可以多次使用「like」,但我希望更好替代。

在Hive中該怎麼辦?

回答

1

您可以使用rlike

TRUE,如果A的任何(可能爲空)子字符串中的Java的正則表達式b匹配,否則返回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')