在写hive查询的时候,如果遇到特殊字符需要使用一些转义符进行转义,如:

hive>select split(ip,’\&’) from students;

通过转义,hive能识别&,并按&进行分割。

但现实中使用会有一些问题,如

hive>select split(ip,’\.’) from students;

该语句无法安装’.'来分割ip。经过仔细研究发现需要写成如下格式:

hive>select split(ip,’\\.’) from students;

需要经过两次转义,hive才能识别。

究其原因可能是有些特殊字符hive需要转义,翻译成hadoop后,hadoop也认为这是一个特殊字符,所以需要再转一次义才能正常工作。

posted on 2012-06-18 16:34  风生水起  阅读(15869)  评论(0编辑  收藏  举报