2009/7/7 Doğacan Güney <[email protected]>

> Hi list,
>
> In current trunk, TableReducer is defined like this:
>
> ....
> public abstract class TableReducer<KEYIN, VALUEIN>
> extends Reducer<KEYIN, VALUEIN, ImmutableBytesWritable, Put>
> ....
>
> As VALUEOUT is a Put, I guess one can not delete columns (like we could
> do with BatchUpdate) using collect(). I can still create Delete-s in
> #reduce
> and
> do a table.delete but that seems unintuitive to me. Am I missing something
> here
> or is this the intended behavior?



Thats intended behavior for that class.  Put and Delete do not share common
ancestor other than Writable so its a little awkward.

What would you suggest Doğacan?  Maybe we should add Marker interfaces to
Put and Delete and then change TableReducer to take the Marker?

Now is a good time to bring this up before it gets set in stone by the
0.20.0 release.

Thanks for looking at this.

St.Ack

Reply via email to