diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java index edb55fa..b7b0f9c 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java @@ -527,7 +527,7 @@ private static void setPlanPath(Configuration conf, String hiveScratchDir) throw } } - private static Path getPlanPath(Configuration conf) { + public static Path getPlanPath(Configuration conf) { String plan = HiveConf.getVar(conf, HiveConf.ConfVars.PLAN); if (plan != null && !plan.isEmpty()) { return new Path(plan); diff --git ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java index ea6c9e7..f19497f 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java @@ -167,8 +167,7 @@ private static void includeColumnRecursive(List types, public RecordReader getRecordReader(InputSplit inputSplit, JobConf conf, Reporter reporter) throws IOException { - if (Utilities - .getMapRedWork(conf).getMapWork().getVectorMode()) { + if (isVectorMode(conf)) { RecordReader vorr = voif.getRecordReader(inputSplit, conf, reporter); return (RecordReader) vorr; @@ -187,8 +186,7 @@ public boolean validateInput(FileSystem fs, HiveConf conf, ArrayList files ) throws IOException { - if (Utilities - .getMapRedWork(conf).getMapWork().getVectorMode()) { + if (isVectorMode(conf)) { return voif.validateInput(fs, conf, files); } @@ -204,4 +202,12 @@ public boolean validateInput(FileSystem fs, HiveConf conf, } return true; } + + private boolean isVectorMode(Configuration conf) { + if (Utilities.getPlanPath(conf) != null && Utilities + .getMapRedWork(conf).getMapWork().getVectorMode()) { + return true; + } + return false; + } }