我在 mysql 表中有一个时间字段。基于这个时间字段,我需要从 mongodb 集合中导入数据。所以在 Pentaho 转换中,首先我有一个表格输入步骤,它可以获取所需的日期。接下来我有一个 mongodb 输入步骤。我如何根据上一步的输出过滤记录?
我看到在 mongodb 输入查询中,只有当它是环境变量或在另一个转换中定义时它才接受参数,但不识别上一步中的变量。如何从上一步加载,请帮助我,我是 Pentaho 的新手,一周以来一直在尝试这个解决方案。
谢谢你,迪普蒂
您已经回答了自己的问题:
我看到在 mongodb 输入查询中,只有当它是环境变量或在另一个转换中定义时它才接受参数,但不识别上一步中的变量。如何从上一步加载,请帮助我,我是 Pentaho 的新手,一周以来一直在尝试这个解决方案。
如果步骤无法接受输入流,则您必须完全按照您的描述进行操作。在一个转换中,访问 MySQL 表以获取时间并将其存储在变量中。然后在另一个转换中访问 MongoDB 步骤中的该变量。
请注意,您必须在两次转换中执行此操作,以确保在 MongoDB 步骤运行时设置变量。
可以通过查询作为参数来实现。在转换设置中添加一个参数(例如: MONGO_QRY )
例子
在 MongoDB 查询表达式 (json)
${MONGO_QRY}
它对我们来说很好尝试。如果不让知道。
看看 optiq。这是最前沿的,但允许 sql 访问 mongodb,因此理论上您可以在表输入步骤而不是 mongo 输入步骤中使用它:
http://julianhyde.blogspot.co.uk/2013/06/efficient-sql-queries-on-mongodb.html