Ravi Shetye created HIVE-21119: ---------------------------------- Summary: String UDAF and count distinct in the same select give error Key: HIVE-21119 URL: https://issues.apache.org/jira/browse/HIVE-21119 Project: Hive Issue Type: Bug Reporter: Ravi Shetye Attachments: MaxUDA.java
With the attached UDAF the following query crashes on hive. CRASHES {noformat} select rs_max(genderkey),count(distinct genderkey) from as_adventure.dimgender; {noformat} WORKS {noformat} select rs_max(genderkey) from as_adventure.dimgender; {noformat} The table looks like {noformat} 0: jdbc:hive2://localhost:10000> select * from dimgender; OK INFO : Compiling command(queryId=hive_20190111225125_486e6e6b-97fa-4dda-9688-a733180bcfe7): select * from dimgender INFO : Concurrency mode is disabled, not creating a lock manager INFO : Semantic Analysis Completed (retrial = false) INFO : Returning Hive schema: Schema(fieldSchemas:[FieldSchema(name:dimgender.genderkey, type:string, comment:null), FieldSchema(name:dimgender.gendername, type:string, comment:null)], properties:null) INFO : Completed compiling command(queryId=hive_20190111225125_486e6e6b-97fa-4dda-9688-a733180bcfe7); Time taken: 0.2 seconds INFO : Concurrency mode is disabled, not creating a lock manager INFO : Executing command(queryId=hive_20190111225125_486e6e6b-97fa-4dda-9688-a733180bcfe7): select * from dimgender INFO : Completed executing command(queryId=hive_20190111225125_486e6e6b-97fa-4dda-9688-a733180bcfe7); Time taken: 0.004 seconds INFO : OK INFO : Concurrency mode is disabled, not creating a lock manager +----------------------+-----------------------+ | dimgender.genderkey | dimgender.gendername | +----------------------+-----------------------+ | M | Male | | F | Female | | U | Unisex | +----------------------+-----------------------+ {noformat} {noformat} Vertex failed, vertexName=Reducer 2, vertexId=vertex_1547169244949_0024_2_01, diagnostics=[Task failed, taskId=task_1547169244949_0024_2_01_000000, diagnostics=[TaskAttempt 0 failed, info=[Error: Error while running task ( failure ) : attempt_1547169244949_0024_2_01_000000_0:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row (tag=0) {"key":{"_col0":"F"},"value":{"_col0":"F"}} at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:296) at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:250) at org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:374) at org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:73) at org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:61) at java.security.AccessController.doPrivileged(Native Method) {noformat} ... {noformat} Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to execute method public boolean com.sample.MaxUDA$Evaluator.merge(java.lang.String) with arguments {F}:argument type mismatch at org.apache.hadoop.hive.ql.exec.FunctionRegistry.invoke(FunctionRegistry.java:1111) at org.apache.hadoop.hive.ql.udf.generic.GenericUDAFBridge$GenericUDAFBridgeEvaluator.merge(GenericUDAFBridge.java:176) at org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator.aggregate(GenericUDAFEvaluator.java:216) {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)