2013-08-28 51 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

相關問題