错误1066:无法打开alias-pig的迭代器

k3bvogb1  于 2021-06-25  发布在  Pig
关注(0)|答案(4)|浏览(323)

刚开始的Pig;尝试从文件中加载数据并从此转储。加载似乎是正确的,没有抛出错误。以下是查询:
nyse=load'/root/desktop/works/nyse-2000-2001.tsv',使用pigstorage()作为(exchange:chararray,库存_symbol:chararray, date:chararray,股价_open:float,股价_high:float,股价_low:float,股价_close:float,库存_volume:int,股价调整_close:float);
当我尝试转储时,它会抛出以下错误:

清管器堆放痕迹

错误1066:无法打开别名nyse org.apache.pig.impl.logicalayer.frontendexception的迭代器:错误1066:无法打开别名nyse org.apache.pig.pigserver.openiterator(pigserver)的迭代器。java:857)位于org.apache.pig.tools.grunt.gruntparser.processdump(gruntparser。java:682)在org.apache.pig.tools.pigscript.parser.pigscriptparser.parse(pigscriptparser。java:303)在org.apache.pig.tools.grunt.gruntparser.parsestoponerror(gruntparser。java:189)在org.apache.pig.tools.grunt.gruntparser.parsestoponerror(gruntparser。java:165)在org.apache.pig.tools.grunt.grunt.run(grunt。java:69)在org.apache.pig.main.run(main。java:490)在org.apache.pig.main.main(main。java:111)原因:java.io.ioexception:作业终止,异常状态为org.apache.pig.pigserver.openiterator(pigserver)失败。java:849)"
知道是什么导致了这个问题吗?

56lgkhnf

56lgkhnf1#

这可能是由于清管器版本从0.12开始发生了变化。具体的变化是pig过去是允许的,并且自动忽略数据文件中的第一行,否则它会将该行解释为列名,在新版本的pig中,这个允许被删除。解决方法是从输入文件中删除列名,这应该可以解决问题
卡皮尔

62o28rlo

62o28rlo2#

我也遇到了这个问题。然后我看到这个链接:http://www.fanli7.net/a/javabiancheng/ant/20140325/441264.html
我只是将pig版本从0.12.0替换为 0.13.0 问题解决了(这里,我的hadoop版本是 2.3.0 )

h7wcgrx3

h7wcgrx33#

可以将断点放在类pigserver到方法store()上。

for(JobStats js : stats.getJobGraph()){
  if(js.getException() != null) {
    ex = js.getException();
  }
}

在js对象中有字段errormessage,它可能包含问题的描述

4zcjmb1e

4zcjmb1e4#

你是在用pig0.12.0或更早版本的jar来运行吗 hadoop 2.2 ,如果是这种情况,那么我通过从 src ,以下是有关 debian 类型框
下载 pig-0.12.0.tar.gz 解包jar并设置权限
然后在解包目录中编译src 'ant clean jar -Dhadoopversion=23' 然后需要在maven的类路径上获取jar,例如,在同一个目录中

mvn install:install-file -Dfile=pig.jar -DgroupId={set a groupId}-
                 DartifactId={set a artifactId} -Dversion=1.0 -Dpackaging=jar

或者,如果在eclipse中,那么添加jar作为外部库/依赖项
我正试图找到你的确切踪迹 pig 12 在一个 hadoop 2.2.0 以上步骤对我很有效
更新
我把我的问题贴在Pig吉拉上,他们回复了。他们已经在这里为hadoop2pig-h2.jar编译了一个pig jarhttp://search.maven.org/#artifactdetails|org.apache.pig | pig | 0.12.0 | jar
这个jar的maven标签是

<dependency>
       <groupId>org.apache.pig</groupId>
       <artifactId>pig</artifactId>
      <classifier>h2</classifier>
      <version>0.12.0</version>
      <scope>provided</scope>
  </dependency>

相关问题