So concat is not working with the conditions that have been outlined so
far but the following works.

B = STREAM A THROUGH `sed s/^/{/` as  (a:chararray, b:chararray,
c:chararray, d:chararray,e:chararray, f:chararray);

Thanks for the help.  I will submit a bug report.

-W


On 4/4/13 6:50 PM, "Russell Jurney" <[email protected]> wrote:

>Escaping the { in single quotes should work.
>
>Russell Jurney http://datasyndrome.com
>
>On Apr 4, 2013, at 6:23 PM, Ramakrishna Nalam <[email protected]>
>wrote:
>
>> 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
>>>
>>>

Reply via email to