【发布时间】:2012-09-20 22:39:17
【问题描述】:
我正在 EMR 上运行一个 pig 脚本,该脚本读取以 Avro 格式存储的数据。它一直在本地运行,但为了让脚本的其他部分在 EMR 上运行,我不得不将我使用的 piggybank.jar 恢复为 0.9.2 而不是 0.10.0。进行该更改后,AvroStorage 静默读取任何数据失败,仅返回零记录。日志中没有提到任何内容。这是脚本:
REGISTER ../../../lib/avro-1.7.0.jar
REGISTER ../../../lib/json-simple-1.1.1.jar
REGISTER ../../../lib/jackson-core-asl-1.5.2.jar
REGISTER ../../../lib/jackson-mapper-asl-1.5.2.jar
REGISTER ../../../lib/piggybank.jar
a = LOAD '/data/' USING org.apache.pig.piggybank.storage.avro.AvroStorage();
DUMP a;
再一次,如果 piggybank.jar 是 0.10.0 版,它可以工作。如果是 0.9.2 版,则不是。我应该使用任何其他库的不同版本吗?我用avro-1.5.3.jar试过了,也没用。
另一个注意事项:如果我这样做 describe a; 它会正确输出架构。
【问题讨论】:
标签: hadoop apache-pig elastic-map-reduce amazon-emr avro