使用hadoop-mongo&更新Mongo Collection猪

时间:2013-08-14 02:30:45

标签: hadoop apache-pig

我正在使用mongo-hadoop项目和使用PIG实现以下目标。

现在,我有2个猪LOAD语句,两个都有catid作为公共字段,所有其他字段都是唯一的。我希望创建1条记录,但要使用两条记录。

例如:

Collection1: { catid, key1, key2 }

Collection2: { catid, key3, key4 }

并将输出存储在mongo集合中:

_id, catid, key1, key2, key3, key4.

我试过了:

STORE A INTO '$DB.tablename' USING com.mongodb.hadoop.pig.MongoStorage('update [catid]','{catid:1},{unique:false}');

STORE B INTO '$DB.tablename' USING com.mongodb.hadoop.pig.MongoStorage('update [catid]','{catid:1},{unique:false}');

但它总是插入。 A,B有10个共同catid的记录,mongo的输出是20个记录。它没有坚持。对此有何帮助?感谢。

1 个答案:

答案 0 :(得分:0)

解决方案是使用MongoUpdateStorage:

https://github.com/alabid/mongo-hadoop/blob/issues/pig/mongo-update-storage/pig/README.md

像魅力一样工作