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.
>

Reply via email to