Hive正则提取异常:提取'selay dervice'前3词返回空列及解决方法
问题:提取指定字符串前3个词的Hive查询异常
我想要提取字符串'selay dervice'前的3个词,但执行以下Hive查询后返回空列:
with a as ( select * from tablename1 b where lower(ptranscript) rlike 'selay dervice' ) select *,regexp_extract(lower(a.ptranscript),'([a-zA-Z0-9]+\s+){3}selay dervice',0) from a
问题修正
正如Raid之前指出的,在Hive中不能使用\s,必须使用\\s。据此更新正则表达式后,查询可正常运行:
with a as ( select * from tablename1 b where lower(ptranscript) rlike 'selay dervice' ) select *,regexp_extract(lower(a.ptranscript),'([a-zA-Z0-9]+\\s+){3}selay dervice',0) from a
内容的提问来源于stack exchange,提问作者user2543622
相关产品推荐
相关产品推荐

