public static void appendReadColumns(
      Configuration conf, List<Integer> ids, List<String> names, List<String> groupPaths, boolean fetchVirtualCols) {
    if (ids.size() != names.size()) {
      LOG.warn("Read column counts do not match: "
          + ids.size() + " ids, " + names.size() + " names");
    }
    appendReadColumns(conf, ids);
    appendReadColumnNames(conf, names);
    appendNestedColumnPaths(conf, groupPaths);
    conf.setBoolean(FETCH_VIRTUAL_COLUMNS_CONF_STR, fetchVirtualCols);
  }
This method appends read column information to configuration to use for PPD. It is
currently called with information from TSOP. Names come from TSOP input RowSchema, and
IDs are the indexes inside the schema (which PPD assumes correspond to indexes inside the
files to PPD in; something that would be invalid in many cases of schema evolution).
@param conf Config to set values to.
@param ids Column ids.
@param names Column names.
serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java