使用hadoop mongo&pig更新mongo集合

w80xi6nr  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(418)

我使用mongohadoop项目和pig来实现下面的功能。
现在,我有两个pig load语句,两个都有catid作为公共字段,所有其他字段都是唯一的。我想创建一个记录,但从两个字段。
例如:

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条记录。它没有向上插入。有什么帮助吗?谢谢。

pftdvrlh

pftdvrlh1#

解决方案是使用mongoupdatestorage:
https://github.com/alabid/mongo-hadoop/blob/issues/pig/mongo-update-storage/pig/readme.md
很有魅力

相关问题