2013-08-07 56 views
0

我存儲在MongoDB的一組文件,該文件是這樣的Pig&MongoDB - 如何使用MongoLoader加載文檔嵌套字段?

{

「_id」:{ 「$ OID」: 「5201ca52ddf19f9c7aea0bb2」},

「ID 「:1,

」路徑「: 」C:// ......「,

」經驗「:

{ID = 「1」,日期= 「二千零十二分之十二」,內容= 「布拉布拉」}

{ID = 「2」,日期= 「二千零十三分之十二」,內容=」 blabla2" }

]

}

我想處理 「經驗」,這些文件的領域獲得這樣的輸出: (1,1,12/2012,布拉布拉)

(1,2,12/2013,blabla2)

模式是(document_id,exp_id,exp_date,exp_content)。

我加載通過豬和MongoLoader文檔,這裏是我的代碼:

REGISTER /root/mongo-2.10.1.jar 
REGISTER /root/pig_librairies/mongo-hadoop_cdh4.3.0-1.1.0.jar 
REGISTER /root/pig_librairies/mongo-hadoop-pig_cdh4.3.0-1.1.0.jar 
REGISTER /root/pig_librairies/mongo-hadoop-core_cdh4.3.0-1.1.0.jar 

persons = LOAD 'mongodb://localhost/gestion_competences.cv' 
     USING com.mongodb.hadoop.pig.MongoLoader('id:chararray, path:chararray, experiences:charrarray) 
     AS (id, path, experiences); 

我知道問題出在這裏:

experiences:chararray 

,但我不知道是什麼結構,我可以用。我試過行李和地圖,它不起作用...

你有關於如何解決問題的想法?

感謝

回答

0

嘗試experiences:map[],然後你可以爲experiences#'content'

通過鍵來訪問值