Pig输出到MongoDb - 重命名字段

时间:2016-02-04 19:36:14

标签: mongodb hadoop apache-pig

我一直在研究一些代码,使用MongoDb-Hadoop Connector生成猪和饲料到MongoDb的数据,该连接正常。

但是,当它们存储在MongoDb集合中时,我一直在尝试重命名您可能称之为的字段名称或属性。

这是我用来将结果存储在集合中的。

 results = FOREACH all avgone::code, avgone::year, avgone::month,
 STORE results INTO 'mongodb://hostname:27017/test.all' USING com.mongodb.hadoop.pig.MongoInsertStorage('','');

存储为

"avgone::code":1,"avgone::year":2016.. and so on

我需要这样 -

code:1,year:2016....

这可能吗?

我试过了:

 STORE results INTO 'mongodb://hostname:27017/test.all' USING com.mongodb.hadoop.pig.MongoInsertStorage('{code,year,month}','');

但我认为这样做是错误的。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用AS关键字重命名FOREACH中的字段(更改架构):

 results = FOREACH a GENERATE avgone::code AS code, avgone::year AS year, avgone::month AS month, ...