刚开始猪; 尝试从文件加载数据并从此转储它.加载似乎是正确的,不会抛出任何错误.以下是查询:
NYSE = LOAD'/root/Desktop/Works/NYSE-2000-2001.tsv'使用PigStorage()AS(交换:chararray,stock_symbol:chararray,日期:chararray,stock_price_open:float,stock_price_high:float,stock_price_low:float,stock_price_close :float,stock_volume:int,stock_price_adj_close:float);
当我尝试执行转储时,它会抛出以下错误:
错误1066:无法为别名打开迭代器NYSE org.apache.pig.impl.logicalLayer.FrontendException:错误1066:无法在org.apache.pig.PigServer.openIterator(PigServer.java:857)处打开别名NYSE的迭代器org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:682)位于org.apache.pig的org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:303). tools.grunt.GruntParser.parseStopOnError(GruntParser.java:189)位于org.apache.pig.tools.grunt.Grunt.run的org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:165) Grunt.java:69)org.apache.pig.Main.run(Main.java:490)atg.apache.pig.Main.main(Main.java:111)引起:java.io.IOException:Job在org.apache.pig.PigServer.openIterator(PigServer.java:849)中以异常状态FAILED终止
知道是什么导致了这个问题吗?
您是否正在运行pig 0.12.0或更早的jar hadoop 2.2,如果是这种情况,那么我设法通过重新编译pig jar来解决这个错误,这里是类型框 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
Run Code Online (Sandbox Code Playgroud)
或者如果在 Eclipse 中则添加 jar 作为外部库/依赖项
pig 12我正在尝试在 a 中运行您的确切跟踪,hadoop 2.2.0并且上述步骤对我有用
更新
我在pig jira 上发布了我的问题,他们做出了回应。他们已经为hadoop2 pig-h2.jar编译了一个pig jar,这里http://search.maven.org/#artifactdetails|org.apache.pig|pig|0.12.0|jar
这个jar的maven标签是
Run Code Online (Sandbox Code Playgroud)<dependency> <groupId>org.apache.pig</groupId> <artifactId>pig</artifactId> <classifier>h2</classifier> <version>0.12.0</version> <scope>provided</scope> </dependency>
| 归档时间: |
|
| 查看次数: |
26765 次 |
| 最近记录: |