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

posted @ 2024-01-23 18:10  相由心生,命由己造  阅读(27)  评论(0编辑  收藏  举报