如何通过过滤猪的另一个文件列表来过滤avro记录?

时间:2014-07-29 01:21:02

标签: apache-pig avro

我有一个文件" fileA"这是一个有以下记录的avro:

{itemid:"Carrot"}
{itemid:"Lettuce"}
...

我有另一个文件" fileB"这是一个具有多个记录的avro遵循相同的模式:

{item: "Carrot", cost: $2, ...other fields..}
{item: "Lettuce", cost: $2, ...other fields..}
{item: "Rice", cost: $2, ...other fields..}
...

如何使用pig来过滤数据,以便我可以将所有相关记录存储在文件" B"在新的输出文件中?

我尝试执行以下操作:

A = load 'fileA' using AvroStorage();
B = load 'fileB' using AvroStorage();

C = JOIN A by itemid , B by item;

STORE C into 'outputpath' using AvroStorage();

我收到错误&#34; Pig Schema包含Avro中不允许的名称。 我想避免必须指定&#34; B&#34;的完整架构。在AvroStorage()内部或A中的任何字段,因为我只想使用A来过滤B的记录以进行存储,而不是添加或更改B的任何模式输出。有没有办法做到这一点?< / p>

0 个答案:

没有答案