使用hadoop Mongo&;更新Mongo集合;猪
我正在使用MongoHadoop项目和PIG来实现以下目标 现在,我有两个pig LOAD语句,都有catid作为公共字段,所有其他字段都是唯一的。我希望创建一条记录,但其中包含两个字段 例如:使用hadoop Mongo&;更新Mongo集合;猪,hadoop,apache-pig,Hadoop,Apache Pig,我正在使用MongoHadoop项目和PIG来实现以下目标 现在,我有两个pig LOAD语句,都有catid作为公共字段,所有其他字段都是唯一的。我希望创建一条记录,但其中包含两个字段 例如: Collection1: { catid, key1, key2 } Collection2: { catid, key3, key4 } 以及存储在mongo collection中的输出: _id, catid, key1, key2, key3, key4. 我试过: STORE A INT
Collection1: { catid, key1, key2 }
Collection2: { catid, key3, key4 }
以及存储在mongo collection中的输出:
_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条记录。它没有向上插入。有什么帮助吗?谢谢。解决方案是使用MongoUpdateStorage: 很有魅力