2016-02-04 66 views
0

我一直在研究一些代码来生成数据从猪和饲料到MongoDb使用MongoDb-Hadoop连接器,它工作正常。猪输出到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

您可以重命名使用AS关键字的FOREACH领域(更改模式):

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