pig&mongodb-如何用mongoloader加载文档嵌套字段?

w8ntj3qf  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(188)

我在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,但没用。。。
你有办法解决这个问题吗?
谢谢

dxxyhpgq

dxxyhpgq1#

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

相关问题