2016-02-04 44 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, ...