我正面临一个棘手的问题。我用最新版本的cygwin在windows7/64位机器上运行pig0.11。
我是一个博客,我想按用户名排序,让同一个用户的所有用户活动在一起,为下一行的处理饲料。
我在cygwin控制台上启动commandprompt->cygwin.bat->转到d://->pig并在grunt shall(本地模式)上键入以下脚本(注意,我已经将pig\u设置为home,pig\u类路径正确)。
脚本是:
USERACTIVITIES = LOAD '/D:/path/of/logs/useractivities' USING org.apache.pig.piggybank.storage.CSVExcelStorage(',') AS (datetimeUnProcessed:chararray, username:chararray, request:chararray);
USERACTIVITIES_ORDERED = ORDER USERACTIVITIES by username;
STORE USERACTIVITIES_ORDERED INTO '/D:/readyfornextinput/useractivities' USING org.apache.pig.piggybank.storage.CSVExcelStorage(',');
当我演示你所订购的产品时,我看到它进展顺利。但当我储存/倾倒时,我会面临一个棘手的问题。
它失败的原因是:java.lang.runtimeexception:org.apache.hadoop.mapreduce.lib.input.invalidinputexception:input path does not exists:file:/d:/pigsample\u 1749383998\u 1377684507424
当我试图搜索这个pigu编号文件时,我可以在:d:/tmp//mapred/local/localrunner中找到它
我不知道这是怎么发生的。我不确定它是否与windows/cygwin相关,或者有人在linux上也看到了这个问题。
作为参考,您可以在此处找到stacktrace:
2013-08-28 15:38:28,863[thread-46]警告org.apache.hadoop.mapred.localjobrunner-作业\u local \u 0004 java.lang.runtimeexception:org.apache.hadoop.mapreduce.lib.input.invalidinputexception:输入路径不存在:文件:/d:/pigsample \u 1749383998 \u 1377684507424 atorg.apache.pig.backend.hadoop.executionengine.mapreducelayer.partitioners.weightedrangepartitioner.setconf(weightedrangepartitioner)。java:157)位于org.apache.hadoop.util.reflectionutils.setconf(reflectionutils。java:62)位于org.apache.hadoop.util.reflectionutils.newinstance(reflectionutils。java:117)在org.apache.hadoop.mapred.maptask$newoutputcollector.(maptask。java:677)在org.apache.hadoop.mapred.maptask.runnewmapper(maptask。java:756)在org.apache.hadoop.mapred.maptask.run(maptask。java:370)在org.apache.hadoop.mapred.localjobrunner$job.run(localjobrunner。java:214)原因:org.apache.hadoop.mapreduce.lib.input.invalidinputexception:输入路径不存在:file:/d:/pigsample\u 1288777582\u 1377684802262位于org.apache.hadoop.mapreduce.lib.input.fileinputformat.liststatus(fileinputformat)。java:235)位于org.apache.pig.backend.hadoop.executionengine.mapreducelayer.pigfileinputformat.liststatus(pigfileinputformat)。java:37)在org.apache.hadoop.mapreduce.lib.input.fileinputformat.getsplits(fileinputformat)。java:252)在org.apache.pig.impl.io.readtoendloader.init(readtoendloader。java:190)在org.apache.pig.impl.io.readtoendloader。java:126)在org.apache.pig.backend.hadoop.executionengine.mapreducelayer.partitioners.weightedrangepartitioner.setconf(weightedrangepartitioner)。java:131) ... 6个以上
这方面的任何帮助都是有用的。
1条答案
按热度按时间7xzttuei1#
看起来这只在cygwin环境下是可复制的。我在这里记录了根本原因和解决方案