/ / skombinujte avro súbory do jedného - hadoop, apache-pig, avro

skombinujte súbory avo do jedného - hadoop, apache-pig, avro

Chcem kombinovať malé avro súbory do jedného avro súboru, pričom si zachová rovnakú schému pomocou prasaťa.

Snažil som sa to urobiť:

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 ();

ale zlyhalo s nasledujúcou chybou:

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.]

Ako spojím malé avro súbory do jedného súboru pomocou prasa?

odpovede:

1 pre odpoveď č. 1

Po prvé, AvroStorage je súčasťou piggybank, takže sa musíte zaregistrovať aj piggybank.jar.

REGISTER piggybank.jar

Po druhé, pomocou aplikácie AvroStorage požiadajte o ďalšie knižnice, takže sa musíte zaregistrovať json-simple-1.1.1.jar.

REGISTER json-simple-1.1.1.jar

Po tretie, ak chcete používať novšiu verziu Avro, potrebujete avro-mapred.jar

V skriptoch ošípaných mám nasledujúci kód:

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;