Thanks Alan for the tip. 

Sent from my iPhone

On Aug 22, 2012, at 4:42 PM, Alan Gates <[email protected]> wrote:

> Use "is null" instead of "== null".  Equality, inequality, boolean, and 
> arithmetic operators that encounter a null returning null is standard trinary 
> logic.  The only possible answer to "is this equal to an unknown" is 
> "unknown".
> 
> Alan.
> 
> On Aug 22, 2012, at 11:43 AM, Alex Rovner wrote:
> 
>> Thanks Cheolsoo,
>> 
>> Not very intuitive but makes sense.
>> 
>> 
>> On Wed, Aug 22, 2012 at 2:37 PM, Cheolsoo Park <[email protected]>wrote:
>> 
>>> Hi Alex,
>>> 
>>> I think that that's expected. The Pig manual says the following
>>> regarding comparison
>>> operators (e.g. ==):
>>> 
>>> If either sub-expression is null, the result is null.
>>> 
>>> 
>>> So "col1 == null" is null.
>>> 
>>> Now it also says the following regarding arithmetic operators (e.g. ?):
>>> 
>>> If either sub-expression is null, the resulting expression is null.
>>> 
>>> 
>>> So "col1 == null ? 'null' : 'not-null'" is null as "col1 == null" is null.
>>> 
>>> Here is the link:
>>> http://pig.apache.org/docs/r0.10.0/basic.html#nulls
>>> 
>>> Thanks,
>>> Cheolsoo
>>> 
>>> On Wed, Aug 22, 2012 at 11:28 AM, Alex Rovner <[email protected]>
>>> wrote:
>>> 
>>>> I am having trouble with bincond in pig 11.
>>>> 
>>>> Sample input:
>>>> 1234
>>>> 0
>>>> 1234
>>>> 
>>>> Sample pig script:
>>>> a = LOAD 'input.txt' as (col1:int);
>>>> 
>>>> b = FOREACH a GENERATE col1, (col1 == null ? 'null' : 'not-null') as
>>> col2;
>>>> 
>>>> dump b;
>>>> 
>>>> 
>>>> Output:
>>>> (1234,)
>>>> (0,)
>>>> (1234,)
>>>> 
>>>> 
>>>> Certainly not what you expect to see... I expected to see 'not-null'
>>> string
>>>> in the second column.
>>>> If I change the bincond to look for a particular value then everything
>>>> works as expected:
>>>> 
>>>> b = FOREACH a GENERATE col1, (col1 == 1234 ? 'null' : 'not-null') as
>>> col2;
>>>> 
>>>> Output:
>>>> (1234,null)
>>>> (0,not-null)
>>>> (1234,null)
>>>> 
>>>> 
>>>> Any ideas? I did not get a chance to test this with prior versions.
>>>> 
>>>> Thanks
>>>> Alex
>>>> 
>>> 
> 

Reply via email to