I had been handling this in the input format where I don't have access to the job. Should this be handled in a tool instead?
I have thought about doing it in the input splits in initialize but it requires a cast to range input split so it seemed like there might be a better way. On Aug 17, 2016 5:31 PM, "Russ Weeks" <[email protected]> wrote: Hi, Jamie, Try the static method AccumuloInputFormat.addIterator(job, new IteratorSetting(...)). Note that the method isn't idempotent. To clear the iterators on a job you can call job.getConfiguration.unset("AccumuloInputFormat.ScanOpts.Iterators") (but that isn't officially part of the public API) -Russ On Wed, Aug 17, 2016 at 2:26 PM Jamie Johnson <[email protected]> wrote: > I am upgrading from Accumulo 1.6 to 1.7 and I am trying to understand how > iterators are supposed to be set in 1.7 for an input format. In my > situation, if a particular property is set an additional iterator needs to > be added to do some additional checking. Previously I had done this in the > AbstractRecordReader.setupIterators() method but this has been > deprecated. I had attempted to put them in > AbstractRecordReader.contextIterators(), > but this isn't always called. This change has made me question if I was > ever doing this according to best practices and now wonder what the correct > way to do this is. Any pointers would be greatly appreciated. >
