首页 > 解决方案 > 使用正则表达式 hive sql 从表中提取行

问题描述

在此处查看表格信息

请检查结果和表格信息的链接。我需要使用正则表达式在 Col B 中查询值为 '343' 的行。所有列都是字符串。也请善意地指出如何在 Hive 中编写好的 REGEX 的任何好的学习材料。谢谢

标签: regexstringhiverowrlike

解决方案


对于 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


推荐阅读