hadoop - PIG LATIN script error 1000 -


i have created following script wherein trying use piggybank udf:

register /home/hduser/pig/contrib/piggybank/java/piggybank.jar; divs = load 'nyse_dividends.txt' using pigstorage(',') (exchange:chararray, symbol:chararray, date:chararray, dividends:float); backwards = foreach divs generate  org.apache.pig.piggybank.evaluation.string.reverse(symbol); store backwards '/user/hduser/backwards.csv'; 

when run above line line in grunt shell works fine however, when try run script following error comes up:

2014-03-10 22:42:25,375 [main] error org.apache.pig.tools.grunt.grunt - error 1000: error during parsing. file not found: /user/hduser/register.pig 

i using hadoop 1.2.1 , pig 0.12 in pseudocluster mode.

the log below:

pig stack trace --------------- error 1000: error during parsing. file not found: register.pig  org.apache.pig.tools.pigscript.parser.parseexception: file not found: register.pig     @ org.apache.pig.tools.grunt.gruntparser.loadscript(gruntparser.java:547)     @ org.apache.pig.tools.grunt.gruntparser.processscript(gruntparser.java:509)     @ org.apache.pig.tools.pigscript.parser.pigscriptparser.script(pigscriptparser.java:1014)     @ org.apache.pig.tools.pigscript.parser.pigscriptparser.parse(pigscriptparser.java:550)     @ org.apache.pig.tools.grunt.gruntparser.parsestoponerror(gruntparser.java:198)     @ org.apache.pig.tools.grunt.gruntparser.parsestoponerror(gruntparser.java:173)     @ org.apache.pig.tools.grunt.grunt.run(grunt.java:69)     @ org.apache.pig.main.run(main.java:541)     @ org.apache.pig.main.main(main.java:156)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:606)     @ org.apache.hadoop.util.runjar.main(runjar.java:160) 

i think you're using example "programming pig" (author alan gates, 2011, o'reilly media), has program called "register.pig". 1 piece of information you're not showing here how you've executed command, i'm guessing ran:

pig -f /user/hduser/register.pig 

this path looks it's referencing hdfs, file should on local filesystem, should try

pig -f /local/path/register.pig

note: can register udfs on command line when executing script, too. way don't have register inside script, if prefer not to.

pig -f /local/path/register.pig -dpig.additional.jars=/home/hduser/pig/contrib/piggybank/java/piggybank.jar


Comments

Popular posts from this blog

php - SPIP: From Tag directly to an article -

jquery - isAjaxRequest always return false -

ruby on rails - In a controller spec, how to find a specific tag in the generated view? -