猪与猪MongoDB - 如何使用MongoLoader加载文档嵌套字段?

时间:2013-08-07 05:45:36

标签: mongodb hadoop apache-pig nosql

我有一组存储在mongodb上的文件,就像这样

  

{

     
    

“_ id”:{“$ oid”:“5201ca52ddf19f9c7aea0bb2”},

         

“id”:1,

         

“path”:“C:// ......”,

         

“经验”:[

         
      
        

{id =“1”,date =“12/2012”,content =“blabla”}

                 

{id =“2”,date =“12/2013”​​,content =“blabla2”}

      
    
         

  
     

}

我想处理这些文档的“体验”字段以获得如下输出: (1,1,12 / 2012,布拉布拉)

(1,2,12 / 2013,blabla2)

架构是(document_id,exp_id,exp_date,exp_content)。

我正在通过pig和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

但我不知道我可以使用什么结构。我试过袋子和地图,但它不起作用......

您对如何解决问题有所了解吗?

由于

1 个答案:

答案 0 :(得分:0)

尝试experiences:map[],然后您可以通过密钥experiences#'content'

访问值