有的,like其实不是正则,而是通配符,这个通配符可以看一下SQL的标准。例如%代表任意多个字符。
A like '123%'
要是not like使用 not A like '123%'。
若是在hive想用正则,请用rlike,不过hive的正则写法和java一样,\请使用\\,例如数字\d,在这需要写成\\d。
A rlike '\\d+'
not A rlike '\\d+'。
在通过终端查询hive时,终端结果显示为乱码,想必大家都遇到过这种情况。这种情况出现的原因是:hive在将数据写入hdfs时候,会把数据格式转换为utf-8格式的。如果你导入hive表的源数据不是utf-8格式的,hive在进行写hdfs转换格式的时候会出现乱码,所有你查询出来的中文也是乱码。
解决办法如下:
1、把源文件,用editplus等编辑软件打开,将文件转换为urf-8格式,保存。再重新导入到hive表中,问题解决。
2、源文件只要是文本格式,如csv,txt,log等文本格式,均可用此种方法转化。前提是你终端也要设置为utf-8格式。