1

我在 mysql 表中有一个时间字段。基于这个时间字段,我需要从 mongodb 集合中导入数据。所以在 Pentaho 转换中,首先我有一个表格输入步骤,它可以获取所需的日期。接下来我有一个 mongodb 输入步骤。我如何根据上一步的输出过滤记录?

我看到在 mongodb 输入查询中,只有当它是环境变量或在另一个转换中定义时它才接受参数,但不识别上一步中的变量。如何从上一步加载,请帮助我,我是 Pentaho 的新手,一周以来一直在尝试这个解决方案。

谢谢你,迪普蒂

4

3 回答 3

1

您已经回答了自己的问题:

我看到在 mongodb 输入查询中,只有当它是环境变量或在另一个转换中定义时它才接受参数,但不识别上一步中的变量。如何从上一步加载,请帮助我,我是 Pentaho 的新手,一周以来一直在尝试这个解决方案。

如果步骤无法接受输入流,则您必须完全按照您的描述进行操作。在一个转换中,访问 MySQL 表以获取时间并将其存储在变量中。然后在另一个转换中访问 MongoDB 步骤中的该变量。

请注意,您必须在两次转换中执行此操作,以确保在 MongoDB 步骤运行时设置变量。

于 2013-06-19T16:23:50.753 回答
0

可以通过查询作为参数来实现。在转换设置中添加一个参数(例如: MONGO_QRY )

例子

在 MongoDB 查询表达式 (json)

${MONGO_QRY}

它对我们来说很好尝试。如果不让知道。

于 2014-11-03T08:22:48.337 回答
0

看看 optiq。这是最前沿的,但允许 sql 访问 mongodb,因此理论上您可以在表输入步骤而不是 mongo 输入步骤中使用它:

http://julianhyde.blogspot.co.uk/2013/06/efficient-sql-queries-on-mongodb.html

于 2013-06-20T08:18:06.030 回答