请检查结果和表信息的链接。我需要用正则表达式查询b列中值为“343”的行。所有列都是字符串。另外,请指出任何关于如何在hive中编写好regex的好的学习材料。谢谢您
um6iljoc1#
对于配置单元,请使用以下命令:
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风格的regex。你可以在这里找到很好的参考和实践:https://regexr.com/ 当然还有regex101
vd2z7a6w2#
这将起作用:
select * from tablename where regexp_like(B,'(.*)(343)(.*)');
Hive当量为:
select * from tablename where rlike(B,'(.*)(343)(.*)');
2条答案
按热度按时间um6iljoc1#
对于配置单元,请使用以下命令:
检查其工作情况:
阴性试验:
hive使用java风格的regex。你可以在这里找到很好的参考和实践:https://regexr.com/ 当然还有regex101
vd2z7a6w2#
这将起作用:
Hive当量为: