将avro文件合并为一个

qgelzfjb  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(496)

我想使用pig将小的avro文件合并成一个avro文件,保持相同的模式。
我试着这么做:

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文件合并成一个文件?

tzcvj98z

tzcvj98z1#

首先,avrostorage是piggybank的一部分,所以您还需要注册piggybank.jar。

REGISTER piggybank.jar

其次,使用avrostorage请求额外的库,因此需要注册json-simple-1.1.1.jar。

REGISTER json-simple-1.1.1.jar

第三,如果你想使用更新版本的avro,你需要avro-mapred.jar
我的pig脚本中有以下代码:

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;

相关问题