package helpers; import org.apache.pig.EvalFunc; import org.apache.pig.data.BagFactory; import org.apache.pig.data.DataBag; import org.apache.pig.data.Tuple; import org.apache.pig.data.TupleFactory; import java.io.IOException; /* * TOBAG : converts a tuple to a bag of one-item tuples */ public class TOBAG extends EvalFunc<DataBag> { private TupleFactory mTupleFactory = TupleFactory.getInstance(); private BagFactory mBagFactory = BagFactory.getInstance(); public DataBag exec(final Tuple input) throws IOException { if (input == null || input.size() == 0) { return null; } try { DataBag output = mBagFactory.newDefaultBag(); Tuple nested = (Tuple) input.get(0); for (Object o : nested.getAll()) { output.add(mTupleFactory.newTuple(o)); } return output; } catch (Exception e) { return null; } } }