Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
Pig, mail # user - Boolean pig UDF constructor


+
meghana narasimhan 2012-11-08, 18:29
+
Jonathan Coveney 2012-11-08, 18:35
Copy link to this message
-
Re: Boolean pig UDF constructor
meghana narasimhan 2012-11-08, 18:42
Thanks Jonathan! Will do.
On Thu, Nov 8, 2012 at 10:35 AM, Jonathan Coveney <[EMAIL PROTECTED]>wrote:

> UDF's can only be given String arguments, period. So you can pass it a
> boolean in String form and parse it.
>
>
> 2012/11/8 meghana narasimhan <[EMAIL PROTECTED]>
>
> > Hi All,
> >
> > Can I pass in a boolean value to Pig UDF constructor with Pig 0.9.2?
> >
> > I have a constructor :
> >
> >  public GenStartEndDate(boolean mtdNoGlob) {
> >
> >         this.mtdNoGlob = mtdNoGlob;
> >
> >     }
> >
> >
> > I am instantiating it in my Pig script :
> >
> >
> > DEFINE START_END_DATE com.demandmedia.dig.udf.GenStartEndDate(false);
> >
> >
> > I get :
> >
> >
> > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1000: Error
> > during parsing. <line 4, column 62>  mismatched input 'false' expecting
> > RIGHT_PAREN
> >
> > at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1641)
> >
> > at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1584)
> >
> > at org.apache.pig.PigServer.registerQuery(PigServer.java:584)
> >
> > at
> org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:967)
> >
> > at org.apache.pig.pigunit.pig.GruntParser.processPig(GruntParser.java:61)
> >
> > at
> >
> >
> org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:386)
> >
> > at
> >
> >
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:189)
> >
> > at org.apache.pig.pigunit.pig.PigServer.registerScript(PigServer.java:53)
> >
> > at org.apache.pig.pigunit.PigTest.registerScript(PigTest.java:160)
> >
> > at org.apache.pig.pigunit.PigTest.runScript(PigTest.java:170)
> >
> > at
> >
> >
> com.demandmedia.dig.incite.TestSiteUrlDaily.testBasic(TestSiteUrlDaily.java:84)
> >
> > Caused by: Failed to parse: <line 4, column 62>  mismatched input 'false'
> > expecting RIGHT_PAREN
> >
> > at
> > org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:222)
> >
> > at
> > org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:164)
> >
> > at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1633)
> >
> > ... 43 more
> >
> >
> > I also tried :
> >
> > DEFINE START_END_DATE com.demandmedia.dig.udf.GenStartEndDate('false');
> >
> >
> > with :
> >
> >
> > <line 138, column 10> Failed to generate logical plan. Nested exception:
> > java.lang.RuntimeException: could not instantiate
> > 'com.demandmedia.dig.udf.GenStartEndDate' with arguments '[false]'
> >
> > at
> >
> >
> org.apache.pig.parser.LogicalPlanBuilder.buildUDF(LogicalPlanBuilder.java:912)
> >
> > at
> >
> >
> org.apache.pig.parser.LogicalPlanGenerator.func_eval(LogicalPlanGenerator.java:7047)
> >
> > at
> >
> >
> org.apache.pig.parser.LogicalPlanGenerator.projectable_expr(LogicalPlanGenerator.java:8583)
> >
> > at
> >
> >
> org.apache.pig.parser.LogicalPlanGenerator.var_expr(LogicalPlanGenerator.java:8358)
> >
> > at
> >
> >
> org.apache.pig.parser.LogicalPlanGenerator.expr(LogicalPlanGenerator.java:7711)
> >
> >
> > What am I doing wrong?
> >
> > - Meg
> >
>
+
Prashant Kommireddi 2012-11-08, 18:42