我在mongodb上存储了一组文档,如下所示
{
“\u id”:{“$oid”:“5201ca52ddf19f9c7aea0bb2”},
“id”: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\u id、exp\u id、exp\u date、exp\u 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
但我不知道我能用什么结构。我试过包和Map,但没用。。。
你有办法解决这个问题吗?
谢谢
1条答案
按热度按时间dxxyhpgq1#
尝试
experiences:map[]
然后您可以通过密钥访问值experiences#'content'