diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/BucketingSortingReduceSinkOptimizer.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/BucketingSortingReduceSinkOptimizer.java index 7cb0f15..3c8c0d6 100644 --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/BucketingSortingReduceSinkOptimizer.java +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/BucketingSortingReduceSinkOptimizer.java @@ -57,6 +57,7 @@ import org.apache.hadoop.hive.ql.plan.OperatorDesc; import org.apache.hadoop.hive.ql.plan.SMBJoinDesc; import org.apache.hadoop.hive.ql.plan.SelectDesc; +import org.apache.hadoop.hive.shims.ShimLoader; /** * This transformation does optimization for enforcing bucketing and sorting. @@ -216,7 +217,7 @@ private boolean checkTable(Table table, private void storeBucketPathMapping(TableScanOperator tsOp, FileStatus[] srcs) { Map bucketFileNameMapping = new HashMap(); for (int pos = 0; pos < srcs.length; pos++) { - if(!srcs[pos].isFile()) { + if (ShimLoader.getHadoopShims().isDirectory(srcs[pos])) { throw new RuntimeException("Was expecting '" + srcs[pos].getPath() + "' to be bucket file."); } bucketFileNameMapping.put(srcs[pos].getPath().getName(), pos);