Hive正则表达式没有按预期工作

时间:2018-01-29 15:53:23

标签: regex hive hiveql

我有一个Hive表,其中包含一个字母数字字符串作为主键。我想选择键以特定字符集开头的行,所以我使用

Select * from my table where pk like '[A-Z]%' limit 5;

由于某种原因,这不返回任何内容,而下面的查询返回5行:

Select * from my table where pk like 'F%' limit 5;

具体来说,Hive如何处理正则表达式括号[]似乎存在问题。另一个不返回任何内容的查询是:

Select * from my table where pk like '[F]%' limit 5;

有谁知道这是为什么以及如何解决它?

PS:我也试过

Select * from my table where pk rlike 'F%' limit 5;

它也一样,什么都没有。

1 个答案:

答案 0 :(得分:0)

如果要匹配正则表达式,则应使用具有类似Java的正则表达式语法的RLIKE运算符。

Select * from my table where pk rlike '^[A-Z].*' limit 5;

source