我想将小的avro文件合并到一个avro文件中,保持相同的模式,使用pig。
我试过这样做:
REGISTER avro-1.7.2.jar
a = load '$SOURCE' using org.apache.pig.piggybank.storage.avro.AvroStorage ();
store a into '$TARGET' using org.apache.pig.piggybank.storage.avro.AvroStorage ();
但是失败了,但有以下错误:
ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1070: Could not resolve org.apache.pig.piggybank.storage.avro.AvroStorage using imports: [, org.apache.pig.builtin., org.apache.pig.impl.builtin.]
如何使用pig将小的avro文件合并成一个文件?
发布于 2014-09-20 01:07:47
首先,AvroStorage是piggybank的一部分,所以您也需要注册piggybank.jar。
REGISTER piggybank.jar
其次,使用AvroStorage请求额外的库,因此您需要注册json-Simpl-1.1.1.jar。
REGISTER json-simple-1.1.1.jar
第三,如果您想使用更新版本的Avro,则需要avro-mapred.jar
我的猪脚本中有以下代码:
REGISTER lib/piggybank-0.13.0.jar;
REGISTER lib/avro-1.7.7.jar;
REGISTER lib/avro-mapred-1.7.7.jar;
REGISTER lib/json-simple-1.1.1.jar;
https://stackoverflow.com/questions/25917671
复制相似问题