I am a new pig and hadoop user, working my way through some simple
examples in  http://pig.apache.org/docs/r0.8.0/cookbook.html

In the section "Reduce Your Operator Pipeline" of the cookbook, are
these examples:
A = load 'data' as (in: map[]);
-- get key out of the map
B = foreach A generate in#k1 as k1, in#k2 as k2;
[...]
B = foreach A generate CONCAT(in#k1, in#k2);

When I tried running those I get messages like this:

grunt> B = foreach A generate in#k1 as k1, in#k2 as k2;    
2011-04-04 12:27:36,525 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 
1000: Error during parsing. Encountered " <IDENTIFIER> "k1 "" at line 1, column 
27.
Was expecting one of:
    "null" ...
    <QUOTEDSTRING> ...
    <QUOTEDSTRING> ...
    "null" ...


Quoting the key name seems to work:

grunt> B = foreach A generate in#'k1' as k1, in#'k2' as k2;

I'm mentioning this in case other newbies run into the same thing, or if the 
cookbook is being maintained.

BTW Thanks to the Pig developers! It's a great tool.

William F Dowling
ThomsonReuters


Reply via email to