java.lang.NumberFormatException as value is automatically detected as int
-------------------------------------------------------------------------
Key: PIG-1733
URL: https://issues.apache.org/jira/browse/PIG-1733
Project: Pig
Issue Type: Bug
Affects Versions: 0.7.0, 0.6.0
Reporter: Viraj Bhat
Fix For: 0.9.0
I have Pig script which uses an custom FilterFunc "ANYIN". The parser has made
this an "integer" by default. It should be detected as "long" . A cast for the
following works.
{code}B = filter A by ANYIN(id, 21431317276L);{code}
{code}
A0 = load '/projects/cookie/20101018/input' using MyLoader as s:map[];
A = foreach A0 generate s#'cookie' as cookie, s#'rtype' as rtype, s#'id' as id,
s#'networkid' as networkid;
B = filter A by ANYIN(id, 21431317276);
C = GROUP B BY cookie parallel 10;
D = foreach C generate group, COUNT(B) as COUNT_FIELD;
E = filter D BY INRANGE(COUNT_FIELD, 1,1000);
F = foreach E generate group;
store F into '/projects/cookie/20101018/output';
{code}
Since the parse tries to convert the input to an int we get the following error:
{quote}
at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:459)
at java.lang.Integer.parseInt(Integer.java:497)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.AtomDatum(QueryParser.java:6593)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.Const(QueryParser.java:6707)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.BaseEvalSpec(QueryParser.java:4868)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.UnaryExpr(QueryParser.java:4774)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.CastExpr(QueryParser.java:4720)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.MultiplicativeExpr(QueryParser.java:4629)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.AdditiveExpr(QueryParser.java:4555)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.InfixExpr(QueryParser.java:4521)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.EvalArgsItem(QueryParser.java:5271)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.EvalArgs(QueryParser.java:5231)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.EvalFuncSpec(QueryParser.java:5049)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.PUnaryCond(QueryParser.java:2075)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.PAndCond(QueryParser.java:1916)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.POrCond(QueryParser.java:1860)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.PCond(QueryParser.java:1826)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.FilterClause(QueryParser.java:1661)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.BaseExpr(QueryParser.java:1368)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.Expr(QueryParser.java:985)
at
org.apache.pig.impl.logicalLayer.parser.QueryParser.Parse(QueryParser.java:774)
at
org.apache.pig.impl.logicalLayer.LogicalPlanBuilder.parse(LogicalPlanBuilder.java:63)
at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1164)
at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1114)
at org.apache.pig.PigServer.registerQuery(PigServer.java:425)
at
org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:737)
at
org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:324)
at
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:162)
at
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:138)
at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
at org.apache.pig.Main.main(Main.java:314)
{quote}
Viraj
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.