私は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
しかし、どの構造を使用できるかわかりません。バッグとマップを試しましたが、うまくいきません...
問題を解決する方法についてのアイデアはありますか?
ありがとう