2016-09-13 43 views
0

我有一個目錄,其中包含10個文件,我想從目錄中存在的文件中刪除標題,並執行使用piggybank時,我收到錯誤。是否有可以從存在的所有directory.My代碼的文件中刪除標題任何其他方式: -如何使用piggybank刪除標題?

REGISTER /usr/lib/pig/piggybank.jar; 
input = LOAD 'insurance_data' using CSVExcelStorage(
    ',','default','NOCHANGE','SKIP_INPUT_HEADER') 
as (population:int, private:int,public:int,uninsecured:int); 
dump input; 

我正的錯誤是: -

2016-09-13 14:01:48,239 [main] ERROR org.apache.pig.PigServer - exception during parsing: Error during parsing. mismatched input 'input' expecting EOF Failed to parse: mismatched input 'input' expecting EOF at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:241) at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:179) at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1688) at org.apache.pig.PigServer$Graph.access$000(PigServer.java:1421) at org.apache.pig.PigServer.parseAndBuild(PigServer.java:354) at org.apache.pig.PigServer.executeBatch(PigServer.java:379) at org.apache.pig.PigServer.executeBatch(PigServer.java:365) at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:140) at org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:769) at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:372) at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:198) at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:173) at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:84) at org.apache.pig.Main.run(Main.java:613) at org.apache.pig.Main.main(Main.java:158) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136) 2016-09-13 14:01:48,250 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: mismatched input 'input' expecting EOF Details at logfile: /home/cloudera/pig_1473800504430.log

回答

0

「輸入」是關鍵字。參考here。將關係「輸入」的名稱更改爲其他名稱。

REGISTER /usr/lib/pig/piggybank.jar; 
A = LOAD 'insurance_data' USING CSVExcelStorage(',','default','NOCHANGE','SKIP_INPUT_HEADER') as (population:int, private:int,public:int,uninsecured:int); 
DUMP A; 
+0

它仍然無法正常工作。我得到一個錯誤: - 2016-09-13 15:57:21,663 [main]錯誤org.apache.pig.PigServer - 解析時出現異常:解析時出錯。無法使用導入來解析CSVExcelStorage:[,java.lang。,org.apache.pig.builtin。,org.apache.pig.impl.builtin。] 解析失敗:Pig腳本解析失敗: – Priyanka

+0

您是否有piggybank .jar在以下位置/ usr/lib/pig /?該錯誤意味着CSVExcelStorage函數由於無法註冊jar文件而更有可能解決。 –

+0

是的,我在piggy.jar註冊時出錯,但我在這個位置有biggybank ..我不知道它爲什麼顯示錯誤 – Priyanka