Pentaho Kettle(数据集成)MongoDB聚合

时间:2014-12-04 17:10:50

标签: mongodb pentaho aggregation-framework

我使用的是v5.2支持MongoDB中的聚合pipleline 当使用MongoDB输入时,查询适用于小数据集,但我需要使用选项 allowDiskUse to the query无法计算如何在pentaho中添加它 我在mongo shell中测试了这个选项并且按预期工作了

http://docs.mongodb.org/manual/reference/method/db.collection.aggregate/

http://wiki.pentaho.com/display/EAI/MongoDB+Input#MongoDBInput-queryaggpipeline

这是有效的

[ {$unwind: "$friends"}, {$group : { '_id' : '$friends.id', name: {'$first': '$friends.name'} ,count: {$sum:1} } } ,{$sort: {count: -1}}, {$limit: 100} ]

这不是

[ {$unwind: "$friends"}, {$group : { '_id' : '$friends.id', name: {'$first': '$friends.name'} ,count: {$sum:1} } } ,{$sort: {count: -1}}, {$limit: 100} ] , {allowDiskUse: true}

3 个答案:

答案 0 :(得分:1)

如果查看class who parse the pipeline,您可以看到Pentaho使用MongoDB class java DBCollection with a deprecated function代替此聚合:

public Cursor aggregate(List<DBObject> pipeline,
                        AggregationOptions options)

很遗憾,Pentaho Mongo输入中没有选项。

答案 1 :(得分:0)

你试过检查&#34;查询是聚合管道&#34; MongoDB输入步骤的“查询”选项卡中的框?

答案 2 :(得分:0)

选中“查询是聚合管道”选项

Code