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