Hi Bill, Yes this is a known problem that recently got fixed in trunk. Will you try trunk code?
Another option is to cast the input columns of the join operator to string using "CAST(xxx) AS STRING". Zheng On Mon, Jun 15, 2009 at 3:16 PM, Bill Craig <[email protected]> wrote: > We are using hive 0.3.0 and are getting the following when joining on > Integer fields. > We are also getting a very similar problem using the case UDF is this > a known problem? > > java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: > java.lang.ClassCastException: org.apache.hadoop.io.IntWritable cannot > be cast to org.apache.hadoop.io.Text > at > org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:180) > at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:436) > at org.apache.hadoop.mapred.Child.main(Child.java:158) > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: > java.lang.ClassCastException: org.apache.hadoop.io.IntWritable cannot > be cast to org.apache.hadoop.io.Text > at > org.apache.hadoop.hive.ql.exec.GroupByOperator.process(GroupByOperator.java:508) > at > org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:383) > at > org.apache.hadoop.hive.ql.exec.JoinOperator.createForwardJoinObject(JoinOperator.java:293) > at > org.apache.hadoop.hive.ql.exec.JoinOperator.genObject(JoinOperator.java:536) > at > org.apache.hadoop.hive.ql.exec.JoinOperator.genObject(JoinOperator.java:525) > at > org.apache.hadoop.hive.ql.exec.JoinOperator.genObject(JoinOperator.java:525) > at > org.apache.hadoop.hive.ql.exec.JoinOperator.checkAndGenObject(JoinOperator.java:566) > at > org.apache.hadoop.hive.ql.exec.JoinOperator.endGroup(JoinOperator.java:548) > at > org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:145) > ... 2 more > Caused by: java.lang.ClassCastException: > org.apache.hadoop.io.IntWritable cannot be cast to > org.apache.hadoop.io.Text > at > org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableStringObjectInspector.copyObject(WritableStringObjectInspector.java:35) > at > org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.copyToStandardObject(ObjectInspectorUtils.java:186) > at > org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.copyToStandardObject(ObjectInspectorUtils.java:172) > at > org.apache.hadoop.hive.ql.exec.GroupByOperator.deepCopyElements(GroupByOperator.java:521) > at > org.apache.hadoop.hive.ql.exec.GroupByOperator.deepCopyElements(GroupByOperator.java:514) > at > org.apache.hadoop.hive.ql.exec.GroupByOperator.processHashAggr(GroupByOperator.java:534) > at > org.apache.hadoop.hive.ql.exec.GroupByOperator.process(GroupByOperator.java:502) > ... 10 more > -- Yours, Zheng
