我是新來的豬,並試圖自己學習。PIG:無法打開別名的迭代器AliasName.Scalar在輸出中有多個行
我已經寫了一個腳本來獲取從word.txt文件中讀取單詞的時代。
這是腳本。
words = LOAD 'words.txt' AS word:chararray;
B = FOREACH A GENERATE CONCAT(CONCAT(A.word,'_'),(chararray)ToUnixTime(CurrentTime());
dump B;
但問題是,如果words.txt文件只有一個詞,它會給出正確的輸出。
如果具有像
word1
word2
word3
word4
多個單詞然後它給以下錯誤
ERROR 1066:無法打開迭代器別名乙
java.lang中.Exception: org.apache.pig.backend.executionengine.ExecException:ERROR 0: 標量在輸出中有多行。 1:(word1),2:(word2)(常見原因:「JOIN」,然後「FOREACH ... GENERATE foo.bar」 應該是「foo :: bar」)在 org.apache.hadoop.mapred。 LocalJobRunner $ Job.runTasks(LocalJobRunner.java:462) at org.apache.hadoop.mapred.LocalJobRunner $ Job.run(LocalJobRunner.java:522) 引起:org.apache.pig.backend.executionengine.ExecException :錯誤 0:標量在輸出中有多個行。 (word1),第二個 :(word2)(常見原因:「JOIN」,然後「FOREACH ... GENERATE foo.bar」 應該是「foo :: bar」),位於 org.apache.pig.impl。 builtin.ReadScalars.exec(ReadScalars.java:122)at o
請建議我解決這個問題。
謝謝。
有it.in腳本只是刪除A.它的工作 –