如何将mongodb中的id数据加载到apachepig中

dgiusagp  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(343)

我是hadoop和apachepig的新手。我在mongodb中有一个名为user的集合,具有以下结构。我想通过以下方式将\u id加载到apache pig中:

B = LOAD 'mongodb://localhost:27017/test.user' USING com.mongodb.hadoop.pig.MongoLoader ('_id:chararray,firstName:chararray,email:chararray') AS (UID,NAME,EMAIL);

但我无法加载它。姓名和电子邮件加载完美。
我正在使用这些jar文件

REGISTER /<path>/avro-1.7.5.jar
REGISTER /<path>/json-simple-1.1.jar
REGISTER /<path>/piggybank.jar
REGISTER /<path>/mongo-2.10.0.jar;
REGISTER /<path>/mongo-hadoop-core-1.1.0-SNAPSHOT.jar;
REGISTER /<path>/mongo-hadoop-pig-1.1.0-SNAPSHOT.jar;
REGISTER /<path>/mongo-hadoop-1.1.0-SNAPSHOT.jar;

用户集合的结构如下

{
"_class" : "UserInfo",
"_id" : ObjectId("51daf2ffed4d31f6"),
"assignments" : 0,
"contests" : 0,
"contes" : 0,
"email" : "princ@bank.com",
"firstName" : "Princessj",
"freeUploadsAllowed" : 2,
"freeUploadsDone" : 0,
"guideViewCount" : 0,
"hofAssignment" : 0,
"hofContest" : 0,
"inviteCount" : 0,
"issueType" : 0,

}
怎么可能请帮助我。

sqserrrh

sqserrrh1#

从Pig的使用
只需将别名设置为“id”
原始=加载'mongodb://localhost:27017/demo.yield_historical.in'使用com.mongodb.hadoop.pig.mongoloader('id,bc10year','id');

相关问题