我有一个文件" 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>