public static List<ColumnGroup> getColumns(Configuration conf) { int count= conf.getInt(INDEX_GROUPS_COUNT_KEY, 0); if (count ==0) { return Collections.emptyList(); } // parse out all the column groups we should index List<ColumnGroup> columns = new ArrayList<ColumnGroup>(count); for (int i = 0; i < count; i++) { // parse out each group String prefix = INDEX_GROUP_PREFIX + i; // hbase.index.covered.group.<i>.table String table = conf.get(prefix + TABLE_SUFFIX); ColumnGroup group = new ColumnGroup(table); // parse out each column in the group // hbase.index.covered.group.<i>.columns String columnPrefix = prefix + INDEX_GROUP_COVERAGE_SUFFIX; // hbase.index.covered.group.<i>.columns.count = j String columnsSizeKey = columnPrefix + COUNT; int columnCount = conf.getInt(columnsSizeKey, 0); for(int j=0; j< columnCount; j++){ String columnKey = columnPrefix + "." + j; CoveredColumn column = CoveredColumn.parse(conf.get(columnKey)); group.add(column); } // add the group columns.add(group); } return columns; }