我是新来的猪,并试图自己学习。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.它的工作 –