问题:
分号为sql、hql的结束符,但是hive对分号的识别没有那么智能,如下:
hive> select concat('a', ';', 'b');
FAILED: Parse Error: line 1:13 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in function specification
可见,hql只要遇见分号则认识是语句的EOF。
解决方法:
将分号用\073表示
hive> select concat('a', '\073', 'b');
结果: a;b