Support multiple inputs for PigProcessor
Review Request #15194 - Created Nov. 2, 2013 and updated
Adds support for multiple LogicalInputs to the PigProcessor. This is done by adding a new TezLoad interface which PhysicalOperators may implement. On the backend, any operators implementing this interface will have the LogicalInput attached to them. 2 implementations are included: * POSimpleTezLoad which consumes a single MRInput * POShuffleTezLoad which consumes one or more ShuffledMergedInputs. The POShuffleTezLoad does a k-way merge of the shuffle inputs to package for the operator pipeline. This required a change to the comparators used so that the sort order remained consistent. There is also a fix to POForEach where it was using the incorrect status code for signaling (although it produced the same end result in the MR pipeline).
Manual testing and an e2e test has been added. Because of the comparator change, some of the tests fail because of bag ordering.