0

私はmongodbに保存された一連のドキュメントを持っています。これは次のようなものです

{

"_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_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