You can't mix and match old and new APIs in general, no. It's better to use new APIs unless it would make the implementation really hard or really slow.
The new APIs lack MultipleInputs as of 0.20.x. That doesn't mean you can't have multiple inputs. You can add several input paths as Shannon says. What I don't know how to do in 0.20.x is configure a different Mapper per input path. (Or is it true that this is an exception where you *can* use the old API? if MultipleInputs is just setting some config variables in a certain way that the new API respects, it works.) However it is *not* true that you can't know where the data is from. This is the whole "join key" business I was alluding to last time. The key can contain this info. (The value could, but it's more useful in the key where it can even affect ordering.) Bottom line: without knowing much about what you're up to I am still 80% sure you can construct your implementation with what the new API has. On Sat, May 28, 2011 at 11:58 PM, Dmitriy Lyubimov <[email protected]>wrote: > As i said, and as i think Shannon's reply confirms in part, you > sometimes can weasel your way out of this, but this is not how this > api is intended to be used. To begin with, old and new api have never > been intended to be used together (so you are already breaking interop > guarantees with any of future releases), and, second, by using old api > in part.... you are not using new anyway by definition of your > actions. > >
