2013-08-07 55 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'

通过键来访问值