diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java index 1b84ba29a6..a5ddffe476 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java @@ -962,7 +962,8 @@ public void process(Object row, int tag) throws HiveException { } } else { if (conf.isCompactionTable()) { - int bucketProperty = ((IntWritable)((Object[])row)[2]).get(); + int bucketProperty = (((Object[])row)[2] instanceof Integer) ? (int) ((Object[])row)[2] : + ((IntWritable)((Object[])row)[2]).get(); bucketId = BucketCodec.determineVersion(bucketProperty).decodeWriterId(bucketProperty); } createBucketFiles(fsp);