引言
hive转义问题想必进来的同学都遇到过,这里就直奔主题了。
此类问题大致可以分为两种常用情况:
- 在hive控制台执行的sql语句
- 通过hive -e的方式嵌入到shell脚本执行sql的方式。
按被转义字符的特殊性质还可以分为两种情况:
- 字符串包含 ’ \ ‘
- 字符串不包含 ’ \ ‘
下面我们分别来介绍
hive控制台执行
在hive客户端输入命令 ’hive shell‘ 即可进入hive控制台,也可以是其他插件比如hue的情况,都是一样。
字符串不包含 ’ \ ‘
此种情况比较简单,比如替换字符串 ’123|456|789‘ 里面的 ’ | ‘ 字符。
sql代码如下:
--构造数据
select concat_ws('|','123','456','789');
--替换’ | ‘ 特殊字符
select regexp_replace(concat_ws('|','123','456','789'),'\\|','');
我们看下运行结果