StringConcat should work:

key = StringConcat((chararray)product.$1,(chararray)$7,(chararray)$6);

scott.

On Tue, Jul 10, 2012 at 6:27 PM, Russell Jurney
<[email protected]> wrote:
> I really need to fix this in pig 0.11
>
> Russell Jurney
> twitter.com/rjurney
> [email protected]
> datasyndrome.com
>
> On Jul 10, 2012, at 5:34 PM, Cdy Chen <[email protected]> wrote:
>
>> Thank you !
>>
>> I use
>>
>> key2 = CONCAT($1,$6);
>> key = CONCAT(key2,$8);
>>
>> It also works!
>>
>> Regards,
>> Chen
>>
>> 2012/7/10 Haitao Yao <[email protected]>
>>
>>> like this:
>>>
>>> CONCAT(CONCAT('all', ':'), 'all')
>>>
>>> It's ugly ,  but the concat only accepts 2 parameters.
>>> Here's the java  doc of CONCAT class:
>>> /**
>>> * Generates the concatenation of the first two arguments.  It can be
>>> * used with two bytearrays or two chararrays (but not a mixture of the
>>> two).
>>> */
>>>
>>>
>>> Haitao Yao
>>> [email protected]
>>> weibo: @haitao_yao
>>> Skype:  haitao.yao.final
>>>
>>> 在 2012-7-10,下午10:04, Cdy Chen 写道:
>>>
>>>> Hi all,
>>>>
>>>> I am a new comer here. I encounter a problem toady:
>>>>
>>>> Pig version: 0.10.0
>>>>
>>>> temp2 = LOAD '/pig/procedure/tzone' USING PigStorage(';');
>>>> zone = FOREACH temp2
>>>> {
>>>>  a = STRSPLIT($0,'#',3);
>>>>  product = STRSPLIT(a.$1,'-',2);
>>>>  key = CONCAT((chararray)product.$1,(chararray)$7,(chararray)$6);
>>>>  GENERATE
>>>>
>>> key,product.$1,TRIM($10),TRIM($4),TRIM($7),TRIM($9),TRIM($8),TRIM($14),TRIM($1),TRIM($6);
>>>> };
>>>>
>>>> It still shows an error:
>>>> ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1045:
>>>> <line 21, column 9> Could not infer the matching function for
>>>> org.apache.pig.builtin.CONCAT as multiple or none of them fit. Please use
>>>> an explicit cast.
>>>>
>>>> Please help!
>>>>
>>>> Thanks!
>>>> Chen
>>>
>>>

Reply via email to