Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Pig, mail # user - CONCAT an open brace to a chararray (Pig v. 0.10)


Copy link to this message
-
Re: CONCAT an open brace to a chararray (Pig v. 0.10)
Ramakrishna Nalam 2013-04-05, 01:22
Looks like you're having issues as '{' is a reserved character. Try giving
the UTF-8 representation for it:

'\\u007B'
Regards,
Rama.

On Fri, Apr 5, 2013 at 6:04 AM, Will Ford <[EMAIL PROTECTED]>wrote:

> This is what I am seeing:
> grunt> B = FOREACH A GENERATE CONCAT('{',a);
> >> };
> 2013-04-04 17:31:27,132 [main] ERROR org.apache.pig.tools.grunt.Grunt -
> ERROR 1200: <line 4, column 0>  mismatched input '}' expecting EOF
> Details at logfile: /Users/XXX/pig_1365116672592.log
> grunt> B = FOREACH A GENERATE CONCAT('\{',a);
> >> };
> <line 3, column 32>  Unexpected character '{'
> 2013-04-04 17:31:33,033 [main] ERROR org.apache.pig.tools.grunt.Grunt -
> ERROR 1200: <line 3, column 32>  Unexpected character '{'
> Details at logfile: /Users/XXX/pig_1365116672592.log
> grunt> B = FOREACH A GENERATE CONCAT('\\{',a);
> >> };
> 2013-04-04 17:31:40,094 [main] ERROR org.apache.pig.tools.grunt.Grunt -
> ERROR 1200: <line 4, column 0>  mismatched input '}' expecting EOF
> Details at logfile: /Users/XXX/pig_1365116672592.log
>
>
>
> I have to type }; to get back to the prompt.
>
> Thanks again for your help!
>
> -W
>
> On 4/4/13 5:27 PM, "Prashant Kommireddi" <[EMAIL PROTECTED]> wrote:
>
> >Pressed send too soon. Try this (single quotes)
> >
> >B = FOREACH A GENERATE CONCAT('{', a);
> >
> >
> >On Thu, Apr 4, 2013 at 5:26 PM, Prashant Kommireddi
> ><[EMAIL PROTECTED]>wrote:
> >
> >> Can you try single quotes?
> >>
> >>
> >>
> >> On Thu, Apr 4, 2013 at 5:08 PM, Will Ford
> >><[EMAIL PROTECTED]>wrote:
> >>
> >>> Hi,
> >>>
> >>> I am trying to concatenate an open brace ( "{" ) to a string and I
> >>> believe pig thinks that I am trying to open a bag or something.
> >>>
> >>> This does work:
> >>> A = LOAD 'short' USING PigStorage('\t') AS (a:chararray, b:chararray,
> >>> c:chararray, d:chararray,e:chararray, f:chararray);
> >>> B = FOREACH A GENERATE CONCAT("\[",a);
> >>>
> >>> This does not work:
> >>> A = LOAD 'short' USING PigStorage('\t') AS (a:chararray, b:chararray,
> >>> c:chararray, d:chararray,e:chararray, f:chararray);
> >>> B = FOREACH A GENERATE CONCAT("\{",a);
> >>>
> >>> It also does not work if I replace the second line with
> >>> B = FOREACH A GENERATE CONCAT("{",a);
> >>> -or-
> >>> B = FOREACH A GENERATE CONCAT("\\{",a);
> >>>
> >>> Is there a way to add an open brace to field?
> >>>
> >>> Thanks in advance for your help.
> >>>
> >>> -Will
> >>>
> >>
> >>
>
>