@Override
  public boolean validateInput(FileSystem fs, HiveConf conf,
                               List<FileStatus> files
                              ) throws IOException {

    if (Utilities.getIsVectorized(conf)) {
      return new VectorizedOrcInputFormat().validateInput(fs, conf, files);
    }

    if (files.size() <= 0) {
      return false;
    }
    for (FileStatus file : files) {
      if (!HiveConf.getVar(conf, ConfVars.HIVE_EXECUTION_ENGINE).equals("mr")) {
        // 0 length files cannot be ORC files, not valid for MR.
        if (file.getLen() == 0) {
          return false;
        }
      }
      try (Reader notUsed = OrcFile.createReader(file.getPath(),
            OrcFile.readerOptions(conf).filesystem(fs).maxLength(file.getLen()))) {
        // We do not use the reader itself. We just check if we can open the file.
      } catch (IOException e) {
        return false;
      }
    }
    return true;
  }
Take the configuration and figure out which columns we need to include.
@param readerSchema the types for the reader
@param conf the configuration
ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java