Daniel, if that's actually the case we need to fix the javadocs. Cause
they are pretty explicit...
/**
* Find the number of fields in a tuple. Expected input is a tuple,
* output is an integer.
* @deprecated Use {@link SIZE} instead.
*/
public class ARITY extends EvalFunc<Integer> {
On Tue, Feb 1, 2011 at 12:10 PM, Daniel Dai <[email protected]> wrote:
> You cannot get size of tuple using SIZE. Use ARITY instead.
>
> Daniel
>
> Xavier Stevens wrote:
>>
>> I've written a regular expression EvalFunc similar to ExtractAll except
>> this is called FindAll. It returns a tuple of all strings found that
>> match the given pattern. The syntax looks like this:
>>
>> A = FOREACH raw_data GENERATE FindAll(field_str, '[^/]+') AS a_tuple;
>>
>> I dumped some return tuples which look something like this:
>>
>> ((a,b,c,d,e))
>>
>> I'm trying to get the size of the tuple so I can filter out certain
>> entries. If I simply do:
>>
>> B = FOREACH A GENERATE SIZE(a_tuple);
>> DUMP B;
>>
>> I always get a size of 1. I thought maybe this was due to the
>> surrounding bag so I tried to FLATTEN(FindAll(...)). Now I'm getting an
>> error from SIZE saying it can't convert a string to a DataBag.
>>
>> Any idea what's going on here?
>>
>> Thanks,
>>
>>
>> -Xavier
>>
>
>