MAPJOIN中无法使用UDF
今天在写SQL时,遇到了一个异常,提示semantic exception generate map join error unable to find class
,udf编写的没毛病,其他SQL也有使用这个UDF,为什么就这一个SQL不行?
经过分析,确定map join是Local Task,在Driver JVM中执行,并未装载UDF jar,尽管这个jar被拉到了Driver本地磁盘。
所以,mapjoin和udf不能同时使用,建议分成两条SQL,或者关闭mapjoin。
关闭mapjoin的方法
set hive.auto.convert.join = false;
Hive版本:1.1.0-CDH5.14.4