2013-08-28 56 views
0

我正面临一个问题。 我在windows7/64位机上用最新版本的cygwin运行PIG 0.11。输入路径不存在:file:/ D:/ pigsample_1749383998_1377684507424

我是一个博客,我想通过userName命令它将同一用户的所有用户活动放在一起,以供下一行处理使用。

我在cygwin控制台上启动命令提示符 - > cygwin.bat - >到D:/ - > pig并在grunt上输入以下脚本(本地模式)。 (注意我已经正确设置了PIG_HOME,PIG_CLASSPATH)。

脚本是:

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(','); 

当我说明我USERACTIVITIES_ORDERED看到它顺利。 但是,当我做存储/转储我面临的问题。

它未能说: 了java.lang.RuntimeException:org.apache.hadoop.mapreduce.lib.input.InvalidInputException:输入路径不存在:文件:/ d:/ pigsample_1749383998_1377684507424

当我试图搜索这个pigsample_number文件,我可以找到: D:/ tmp // mapred/local/localRunner

我不知道它是如何发生的。 我不知道它的Windows/cygwin相关的问题,或者也有人在Linux上看到这一点。

仅供参考,你可以找到的堆栈跟踪附着在这里:

2013年8月28日15:38:28863 [主题-46] WARN org.apache.hadoop.mapred.LocalJobRunner - job_local_0004 java.lang.RuntimeException: org.apache.hadoop.mapreduce.lib.input.InvalidInputException:输入 路径不存在:file:/ D:/ pigsample_1749383998_1377684507424 at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer .partitioners.WeightedRangePartitioner.setConf(WeightedRangePartitioner.java:157) at org.apache.hadoop.util.ReflectionUtils。在org.apache.hadoop.mapred.MapTask $ NewOutputCollector。(MapTask.java:677) 在org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:756) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) at org.apache.hadoop.mapred.LocalJobRunner在org.apache/pigsample_1288777582_1377684802262 :$ Job.run(LocalJobRunner.java:214) 造成的: org.apache.hadoop.mapreduce.lib.input.InvalidInputException:输入 路径不存在:文件:/ d。 hadoop.mapreduce.lib.input.FileInputFormat.listStatus(FileInputFormat.java:235) at org.apache.pig.backend.hadoop.executio nengine.mapReduceLayer.PigFileInputFormat.listStatus(PigFileInputFormat.java:37) at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:252) at org.apache.pig.impl.io。 ReadToEndLoader.init(ReadToEndLoader.java:190) 在org.apache.pig.impl.io.ReadToEndLoader。(ReadToEndLoader.java:126) 在org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.WeightedRangePartitioner .setConf(WeightedRangePartitioner.java:131) ...6个

任何帮助将是有益的。

+0

你可以试试“/ D/path/of/logs/useractivities”或“/ d/path/of/logs/useractivities” – zsxwing

+0

这是不是也没有帮助!事实上,在cygwin中,我们写/驱动器:/路径.... –

+0

也许我的cygwin版本太低,我尝试在我的cygwin外壳。 “D:”文件夹是“/ cygdrive/d”。 – zsxwing

回答

0

看起来这只能在cygwin环境中重现。 我已经记录了根本原因和解决方案here

相关问题