HiveQ与传统SQL差异 1.   hive内连接支持什么格式? 2.   分号符号的使用

• SQL中对两表内联可以写成:
       select * from dual a,dual b where a.key = b.key;

       或者:

       SELECT t1.a1 as c1, t2.b1 as c2FROM t1, t2 WHERE t1.a2 = t2.b2
• Hive中应为
       select * from dual a join dual b on a.key = b.key;

2.   分号符号的使用

• 分号是SQL语句结束标记,在HiveQL中也是,但是在HiveQL中,对分号的识别没有那么智慧,例如:

         select concat(key,concat(';',key)) from dual;

• 但HiveQL在解析语句时提示:
        FAILED: Parse Error: line 0:-1 mismatched input '<EOF>' expecting ) in function specification

解决的办法是,使用分号的八进制的ASCII码进行转义,那么上述语句应写成:

         select concat(key,concat('