0

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

{

“_id”:{“$oid”:“5201ca52ddf19f9c7aea0bb2”},

“身份证”:1,

"路径" : "C://..." ,

“经验”:[

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

{ id = "2", date="12/2013", content="blabla2" }

]

}

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

(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

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

你知道如何解决这个问题吗?

谢谢

4

1 回答 1

0

Try experiences:map[] and then you can access values via key as experiences#'content'

于 2013-08-30T10:45:12.583 回答