Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多个集合作为mongodb for hadoop map reduce作业的输入_Mongodb_Hadoop - Fatal编程技术网

多个集合作为mongodb for hadoop map reduce作业的输入

多个集合作为mongodb for hadoop map reduce作业的输入,mongodb,hadoop,Mongodb,Hadoop,我正在尝试传递多个集合作为执行map reduce hadoop作业的输入。 我发现版本1.2中的MultiCollectionSplitBuilder具有此功能。下面的示例发布在github中,它不起作用,请提供帮助 MultiCollectionSplitBuilder mcsb = new MultiCollectionSplitBuilder(); mcsb.add(new MongoURI("mongodb://localhost:27017/mongo_hadoop

我正在尝试传递多个集合作为执行map reduce hadoop作业的输入。 我发现版本1.2中的MultiCollectionSplitBuilder具有此功能。下面的示例发布在github中,它不起作用,请提供帮助

 MultiCollectionSplitBuilder mcsb = new MultiCollectionSplitBuilder();
        mcsb.add(new MongoURI("mongodb://localhost:27017/mongo_hadoop.yield_historical.in"),
                 (MongoURI)null, // authuri
                 true, // notimeout
                 (DBObject)null, // fields
                 (DBObject)null, // sort
                 (DBObject)null, // query
                 false,
                 MultiMongoCollectionSplitter.class)
            .add(new MongoURI("mongodb://localhost:27017/mongo_hadoop.yield_historical.in"),
                 (MongoURI)null, // authuri
                 true, // notimeout
                 (DBObject)null, // fields
                 (DBObject)null, // sort
                 new BasicDBObject("_id", new BasicDBObject("$gt", new Date(883440000000L))),
                 false, // range query
                 MultiMongoCollectionSplitter.class);

        Configuration conf = new Configuration();
        conf.set(MultiMongoCollectionSplitter.MULTI_COLLECTION_CONF_KEY, mcsb.toJSON());

谢谢你指出这个问题。这是示例中的一个错误。已提交以解决此问题

我通过将所有输入集合的子拆分器类设置为
null
解决了这个问题。看

要使其正常工作,请确保将以下参数传递给Hadoop:

-D mongo.splitter.class=com.mongodb.hadoop.splitter.MultiMongoCollectionSplitter

上述修复是一种解决方法。给你更多关于这个问题的细节。根据设计,子拆分器类可以是除
MultiMongoCollectionSplitter
之外的任何拆分器类。但是有一个bug阻止我们这么做。这个问题将在以后的版本中很快得到解决。

您能否详细说明示例代码是如何“不起作用”的?是否有特定的错误消息,结果是否与您预期的不符?