public Map<String, String> convertToMap() { int total = this.groups.size(); // hbase.index.covered.groups = i specs.put(INDEX_GROUPS_COUNT_KEY, Integer.toString(total)); int i = 0; for (ColumnGroup group : groups) { addIndexGroupToSpecs(specs, group, i++); } return specs; }
public TableDescriptor build(TableDescriptor desc) throws IOException { return build(desc, CoveredColumnIndexCodec.class); }
@Override public void initialize(Configuration conf, byte[] tableName) { groups = CoveredColumnIndexSpecifierBuilder.getColumns(conf); }
CoveredColumnIndexSpecifierBuilder builder = new CoveredColumnIndexSpecifierBuilder(); ColumnGroup fam1 = new ColumnGroup(INDEX_TABLE); builder.addIndexGroup(fam1); ColumnGroup fam2 = new ColumnGroup(INDEX_TABLE2); builder.addIndexGroup(fam2); Map<String, String> map = builder.convertToMap(); for(Entry<String, String> entry: map.entrySet()){ conf.set(entry.getKey(), entry.getValue()); List<ColumnGroup> columns = CoveredColumnIndexSpecifierBuilder.getColumns(conf); assertEquals("Didn't deserialize the expected number of column groups", 2, columns.size()); ColumnGroup group = columns.get(0);
ColumnGroup fam1 = new ColumnGroup(INDEX_TABLE_NAME); fam1.add(new CoveredColumn(family, CoveredColumn.ALL_QUALIFIERS)); CoveredColumnIndexSpecifierBuilder builder = new CoveredColumnIndexSpecifierBuilder(); builder.addIndexGroup(fam1); builder.build(htd); WALFactory walFactory = new WALFactory(this.conf, "localhost,1234");
ColumnGroup columns = new ColumnGroup(indexedTableName); columns.add(new CoveredColumn(family, qual)); CoveredColumnIndexSpecifierBuilder builder = new CoveredColumnIndexSpecifierBuilder(); builder.addIndexGroup(columns); .addColumnFamily(ColumnFamilyDescriptorBuilder.of(family)) .addColumnFamily(ColumnFamilyDescriptorBuilder.of(nonIndexedFamily)).build(); builder.addArbitraryConfigForTesting(Indexer.RecoveryFailurePolicyKeyForTesting, ReleaseLatchOnFailurePolicy.class.getName()); builder.build(primaryTable); admin.createTable(primaryTable);
public TableDescriptor build(TableDescriptor desc, Class<? extends IndexCodec> clazz) throws IOException { // add the codec for the index to the map of options Map<String, String> opts = this.convertToMap(); opts.put(NonTxIndexBuilder.CODEC_CLASS_NAME_KEY, clazz.getName()); TableDescriptorBuilder newBuilder = TableDescriptorBuilder.newBuilder(desc); Indexer.enableIndexing(newBuilder, NonTxIndexBuilder.class, opts, Coprocessor.PRIORITY_USER); return newBuilder.build(); }
ColumnGroup fam1 = new ColumnGroup(indexTableName); fam1.add(new CoveredColumn(family, CoveredColumn.ALL_QUALIFIERS)); CoveredColumnIndexSpecifierBuilder builder = new CoveredColumnIndexSpecifierBuilder(); builder.addIndexGroup(fam1); builder.build(desc);