1
FAILED: NullPointerException null
不能用视图作为left outer join的右表
2
left semi join 的右边表的字段,不能出现在select列中
3
FAILED: SemanticException Column ***_id Found in more than One Tables/Subqueries
有一列在多个表中出现,但是没加表名前缀
4
left outer join 的使用,对于右表的筛选条件的设置要特别注意,如果放在where中,则left join会变为inner join,实际是先执行了left join之后,又执行筛选,这样会把左边中的部分记录删除,不符合left join对左表取全量的初衷了。需要将右表条件以子表的形式指定,或者放在on中。
5
FAILED: ParseException line 3:0 cannot recognize input near ‘from’’(‘’select’ in selection target
无法识别在’from’和’(‘、’select’附近的输入,这种一般就是多了个符号,或者符号格式不对,在提示的位置找一下即可
6
FAILED: SemanticException [Error 10004]:line 4:59 Invalid table alias or column reference ‘p_‘:(possible column names are:)
该语句的第四行、59个字符开始出现错误,列名引用错误
7
FAILED: SemanticException [Error 10052]: In strict mode,cartesian product is not allowed. If you really want to perform the operation,set hive.mapred.mode=nonstrict
语法中计算了笛卡尔积。少写了on条件,如果要求笛卡尔积可以写 on 1=1。
8
FAILED: SemanticException [Error 10001]:line 1:14 Table not found ‘***’
表名错误,或者没有加数据库名前缀
9
FAILED: Execution Error,return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
很多错误都可能导致这个错误。本人遇到的大多是部分内置函数的字段存在NULL值导致
除了这个错误提示,基本上都可以从错误提示的内容,快速发现问题。