请检查结果和表格信息的链接。我需要使用正则表达式在 Col B 中查询值为 '343' 的行。所有列都是字符串。也请善意地指出如何在 Hive 中编写好的 REGEX 的任何好的学习材料。谢谢
2 回答
1
对于 Hive 使用这个:
select * from tablename where B rlike '343';
检查它是否有效:
hive> select '123435' rlike '343';
OK
_c0
true
阴性测试:
hive> select '12345' rlike '343';
OK
_c0
false
Time taken: 1.675 seconds, Fetched: 1 row(s)
Hive 使用 Java 风格的正则表达式。您可以在这里找到很好的参考和实践:https ://regexr.com/ ,当然还有regex101
于 2018-12-18T14:03:27.390 回答
0
这将起作用:
select * from tablename where regexp_like(B,'(.*)(343)(.*)');
蜂巢等价物是:
select * from tablename where rlike(B,'(.*)(343)(.*)');
于 2018-12-18T13:33:51.803 回答