Hive SQL语法与经常用的mysql语法具有一定差异性,按照写mysql的习惯写出的sql经常报错,且报错很难看出问题原因,因此在此记录出现问题的现象和解决方式
- Error: Error while compiling statement: FAILED: ParseException line 3:2 cannot recognize input near '(' 'SELECT' 'a' in joinSource (state=42000,code=40000)
原因:如果你发现你的sql没有任何问题,此时一般是因为子查询没有别名造成的
解决:select * from (select * from a) 更改成 select * from (select * from a) t - Error: Error while compiling statement: FAILED: SemanticException [Error 10025]: Expression not in GROUP BY key id (state=42000,code=10025)
原因:在select语句中而不在group by 语句中的字段会导致该报错
解决: select id,name from a group by name 更改成 select collect_set(id),name from a group by name - Error: Error while compiling statement: FAILED: SemanticException [Error 10004]: Line 1:1