Details
-
Type: Bug
-
Status: Open
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: CDH 5.5.2
-
Fix Version/s: None
-
Component/s: Hive
-
Labels:None
Description
when I submit a map join query with UDF using JDBC and sometimes it throws:
Error while compiling statement: FAILED: SemanticException Generate Map Join Task Error: Unable to find class: com.kingnetdc.hive.udf.FilterByMap Serialization trace: genericUDF (org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc) colExprMap (org.apache.hadoop.hive.ql.exec.SelectOperator) childOperators (org.apache.hadoop.hive.ql.exec.FilterOperator) childOperators (org.apache.hadoop.hive.ql.exec.JoinOperator) reducer (org.apache.hadoop.hive.ql.plan.ReduceWork) reduceWork (org.apache.hadoop.hive.ql.plan.MapredWork)
I have found the fact that it fails at cloning plan when invoking Utilities.deserializePlan.
An existing thread deals with the query and its static threadlocal variable,cloningQueryPlanKryo has been initialed at most once per thread.When this thread registered UDF setting in aux_jar_paths it wont reinitialize the cloningQueryPlanKryo.