Hive 正则表达式未按预期工作
Hive regex not working as expected
我有一个 Hive table,它有一个字母数字字符串作为主键。我想 select 键以一组特定字符开头的行,所以我使用
Select * from my table where pk like '[A-Z]%' limit 5;
出于某种原因,这 returns 没有,而下面的查询 returns 5 行:
Select * from my table where pk like 'F%' limit 5;
具体来说,Hive 处理正则表达式括号 [] 的方式似乎存在问题。 returns 什么都没有的另一个查询是:
Select * from my table where pk like '[F]%' limit 5;
有谁知道这是为什么以及如何解决?
PS: 我也试过了
Select * from my table where pk rlike 'F%' limit 5;
它也没有返回任何内容。
如果你想匹配正则表达式,你应该使用 RLIKE 运算符和 Java-like 正则表达式语法。
Select * from my table where pk rlike '^[A-Z].*' limit 5;
我有一个 Hive table,它有一个字母数字字符串作为主键。我想 select 键以一组特定字符开头的行,所以我使用
Select * from my table where pk like '[A-Z]%' limit 5;
出于某种原因,这 returns 没有,而下面的查询 returns 5 行:
Select * from my table where pk like 'F%' limit 5;
具体来说,Hive 处理正则表达式括号 [] 的方式似乎存在问题。 returns 什么都没有的另一个查询是:
Select * from my table where pk like '[F]%' limit 5;
有谁知道这是为什么以及如何解决?
PS: 我也试过了
Select * from my table where pk rlike 'F%' limit 5;
它也没有返回任何内容。
如果你想匹配正则表达式,你应该使用 RLIKE 运算符和 Java-like 正则表达式语法。
Select * from my table where pk rlike '^[A-Z].*' limit 5;