In 2nd line -
1. It is missing the identifier for the name of new relation (B = )
2. What you have is a bag of tuples of type integer. The number of instances
of the tuple in the bag does not matter for the schema (like array type in
java - int [] aa;)
Changing it to following should work -
B = FOREACH A GENERATE (bag{tuple(long)})aa;
-Thejas
On 11/4/09 2:38 AM, "Kelvin Moss" <[email protected]> wrote:
> Hi,
>
> I have a file whose contents look like
>
> {(1L),(2L),(3L)}
> {(4L),(2L),(1L)}
> {(8L),(3L),(4L)}
>
> In short I want a bag with 3 tuples. I do the following to accomplish it
> grunt> A = LOAD 'data1' as aa:bytearray;
> grunt> FOREACH A GENERATE (bag{tuple(long),tuple(long),tuple(long)})aa;
> 2009-11-04 09:28:47,054 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR
> 1000: Error during parsing. Encountered " <IDENTIFIER> "FOREACH "" at line 1,
> column 1.
> Was expecting one of:
> <EOF>
> "cat" ...
> "cd" ...
> "cp" ...
> "copyFromLocal" ...
> "copyToLocal" ...
> "dump" ...
> "describe" ...
> "aliases" ...
> "explain" ...
> "help" ...
> "kill" ...
> "ls" ...
> "mv" ...
> "mkdir" ...
> "pwd" ...
> "quit" ...
> "register" ...
> "rm" ...
> "rmf" ...
> "set" ...
> "illustrate" ...
> "run" ...
> "exec" ...
> "scriptDone" ...
> "" ...
> <EOL> ...
> ";" ...
>
> What should be the syntax to cast?
>
> Thanks!
>
>
>