For accessing locality group column family information inside an Accumulo iterator, what about querying the Accumulo table property table.group.* <https://accumulo.apache.org/1.7/accumulo_user_manual#TABLE_LOCALITY_GROUP_PREFIX> from IteratorEnvironment.getConfig() in the iterator's init()? I haven't tested this, but it seems like it would work.
On Fri, Jul 15, 2016 at 1:54 PM, Russ Weeks <[email protected]> wrote: > Hey, folks, > > Yesterday I asked on IRC about whether there was an optimized way to delete > all key/value pairs in a locality group. Keith had the great suggestion > that, since compactions are done separately for each locality group, I > could write a custom iterator that returned false from hasTop if the > iterator was seeked with the right column families. > > If it's useful to anyone else, the code is in this gist: > https://gist.github.com/rweeks/bedb96e20fcb8d2d2f27c555494181c5 and it > works pretty well, thanks Keith! > > It would be more convenient for the end-user to configure the iterator with > a specific locality group, instead of a set of column families that must > match a locality group for the iterator to work correctly. Unfortunately > the iterator doesn't have the necessary context to map a locality group > name to the CFs in that group (as far as I can tell). > > -Russ >
