private static MessageType getRequestedPrunedSchema(
    List<String> columnNamesList,
    MessageType fileSchema,
    Configuration configuration) {
    Set<String> groupPaths = ColumnProjectionUtils.getNestedColumnPaths(configuration);
    List<Integer> indexColumnsWanted = ColumnProjectionUtils.getReadColumnIDs(configuration);
    if (!ColumnProjectionUtils.isReadAllColumns(configuration) && !indexColumnsWanted.isEmpty()) {
      return getProjectedSchema(fileSchema, columnNamesList, indexColumnsWanted, groupPaths);
    } else {
      return fileSchema;
    }
  }
It's used for vectorized code path.
@param indexAccess
@param columnNamesList
@param columnTypesList
@param fileSchema
@param configuration
@return
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/read/DataWritableReadSupport.java