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

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


Copy link to this message
-
Re: Boolean pig UDF constructor
Jonathan Coveney 2012-11-08, 18:35
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
>