0
Ich habe den folgenden Code:Syntaxfehler, unerwartetes Symbol an oder in der Nähe von ‚groupped‘
Input_File = load '/user/cloudera/teste' USING PigStorage (' ')
as (ID:Int,
Descrip:Chararray,
Date:Datetime);
groupped = group Input_File by (ID, Date);
ranked = foreach groupped {
ranked = rank groupped by ID desc DENSE;
generate flatten(ranked);
}
STORE ranked into '/user/cloudera/teste1123';
Ich versuche Rang Spalte auf diesem Datensatz zu erstellen:
id des date
1 A 01-01-2016
2 A 02-01-2016
2 C 03-01-2016
2 D 03-01-2016
3 A 01-01-2016
Das Hauptziel wird diese bekommen:
rank id desc date
1 1 A 01-01-2016
2 2 A 02-01-2016
3 2 C 03-01-2016
3 2 D 03-01-2016
4 3 A 01-01-2016
Aber wenn ich meinen Code renne ich die folgende Fehlermeldung erhalten:
ERROR 1200: <line 5, column 14> Syntax error, unexpected symbol at or near 'groupped'
Failed to parse: <line 5, column 14> Syntax error, unexpected symbol at or near 'groupped'
at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:241)
at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:179)
at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1660)
at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1633)
at org.apache.pig.PigServer.registerQuery(PigServer.java:587)
at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:1090)
at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:501)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:198)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:173)
at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69)
at org.apache.pig.Main.run(Main.java:547)
at org.apache.pig.Main.main(Main.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Was mache ich falsch?
Vielen Dank!
Wenn der Rang Spalte den gleichen Wert wie die ID-Spalte hat, dann können Sie einfach eine neue ID erstellen Spalte und benennen Sie es als Rang. –
Sind Sie sicher, dass "gruppiert" innerhalb des Blocks "foreach grouped" referenziert werden kann? –
inquisitive_mind Sorry, ich kopiere die falschen Daten auf den Post ... –