Though, not exactly what you are asking for - There is a getTuplesFromConstantTupleStrings function in test//org/apache/pig/test/Util.java that converts string representation of tuples to tuple objects. It is an easier way and more maintainable way of creating tuples in test cases.

For example -  List<Tuple> expectedRes =
            Util.getTuplesFromConstantTupleStrings(
                    new String[] {
                            "(10,20,30,40L)",
                            "(11,21,31,41L)",
                    });

But not exposed as public interface right now. It make sense to make it part of a public interface.

-Thejas


On 4/20/12 7:48 AM, Mohit Anchlia wrote:
Thanks for your response. Yes I am using those in my udf eval function.
Actually my quesiton was around how do I build the tuple? Is there a
utility method that would let me build my tuple with the following record
type. I need to populate the tuple in below format so that I can pass it in
the unit test. It's tab delimited and also has bags.

1333477861077/home/hadoop/pigtest/./formml_dat/999000093_return.xml
04/03/12 11:36:25 {(ST:NC),(ZIP:28613),(CITY:Xxxxxxx),(NAM2:Xxxxx X&xxx;
Xxxxx X Xxxxxx)} {(OCCUP:xxxxxxx xxxxx),(AGE:55),(MARITAL:Married

On Thu, Apr 19, 2012 at 6:44 PM, Dmitriy Ryaboy<[email protected]>  wrote:

Something like this (not tested):

List<Tuple>  bagtuples = Lists.newArrayList();

// populate inner tuples, then...

DataBag myBag = BagFactory.getInstance().newBag(bagtuples);
Tuple t = TupleFactory.getInstance().newTuple(myBag);

D


On Thu, Apr 19, 2012 at 5:51 PM, Mohit Anchlia<[email protected]>
wrote:
Thanks! I am trying to figure out how to create a Tuble object that also
has bags in it. I have a record like this that I want to pass to UDF as a
tuple. Any info would be very helpful.


1333477861077/home/hadoop/pigtest/./formml_dat/999000093_return.xml
04/03/12 11:36:25 {(ST:NC),(ZIP:28613),(CITY:Xxxxxxx),(NAM2:Xxxxx X&xxx;
Xxxxx X Xxxxxx)} {(OCCUP:xxxxxxx xxxxx),(AGE:55),(MARITAL:Married)}


On Thu, Apr 19, 2012 at 5:16 PM, Dmitriy Ryaboy<[email protected]>
wrote:

Hi Mohit,
We just write standard Java unit tests for pig UDFs. You can see a ton
of them here:

https://github.com/apache/pig/blob/trunk/test/org/apache/pig/test/TestStringUDFs.java

Does that help?

D

On Thu, Apr 19, 2012 at 5:05 PM, Mohit Anchlia<[email protected]>
wrote:
Is there a way I can just unit test my pig UDF? What's the best way to
unit
test in pig. I saw pigunittest but couldn't find a way to unit test
udf.




Reply via email to