kettle中的MongoDB Input控件无法传参,我现在需要获取昨天的日期然后在它的query中编写语句。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kettle中的MongoDB Input控件无法传参,我现在需要获取昨天的日期然后在它的query中编写语句。相关的知识,希望对你有一定的参考价值。

每次从MongoDB数据库中获取前一天的数据,startdate应该是上一步传进来的变量,但是现在每次执行都为空。
"activity_updated_at":"$lt":"+$startdate+"

用 $startdate 没有问题 但是 mongodbinput 这个组件需要放到 一个转换里面,
在他前面的转换里面 使用 设置变量组件 设置 startdate, 变量使用范围必须为parent job
然后把这两个转换当道一个job里面 执行即可
参考技术A 我也想知道怎么解决

kettle7.0将sqlserver中的数据同步到mongoDB中

1.打开输入菜单栏,找到 表输入并拖入工作空间

kettle7.0将sqlserver中的数据同步到mongoDB中_mongodb

2.打开Output菜单栏,找到JSON Output并拖入工作空间

kettle7.0将sqlserver中的数据同步到mongoDB中_菜单栏_02

3.打开Big Data菜单栏,找到MongoDB Output并拖入工作空间

kettle7.0将sqlserver中的数据同步到mongoDB中_mongodb_03

4.将以前3个控件拖入工作台后,然后后按住shift键,点击鼠标左键,吧各个步骤连接起来,完成后如下图

kettle7.0将sqlserver中的数据同步到mongoDB中_工作空间_04

5.进行相关的转换设置

(1).双击表输入,进行编辑

kettle7.0将sqlserver中的数据同步到mongoDB中_菜单栏_05

编辑数据库连接并选择需要输入的表(输入的数据库选择为sqlserver) 

kettle7.0将sqlserver中的数据同步到mongoDB中_菜单栏_06

测试是否可以正常连接

kettle7.0将sqlserver中的数据同步到mongoDB中_工作空间_07

选择数据表

kettle7.0将sqlserver中的数据同步到mongoDB中_工作空间_08

(2).双击JOSN Output,进行编辑

kettle7.0将sqlserver中的数据同步到mongoDB中_工作空间_09

获取数据字段 

kettle7.0将sqlserver中的数据同步到mongoDB中_mongodb_10

(3).双击MongoDB Output,进行编辑

 Configuration connection配置如下:

kettle7.0将sqlserver中的数据同步到mongoDB中_菜单栏_11

Output options的配置如下: 

kettle7.0将sqlserver中的数据同步到mongoDB中_工作空间_12

然后选择Mongo document fields进行设置

kettle7.0将sqlserver中的数据同步到mongoDB中_mongodb_13

6.运行转换

运行前查看mongoDB数据

kettle7.0将sqlserver中的数据同步到mongoDB中_工作空间_14

运行转换

kettle7.0将sqlserver中的数据同步到mongoDB中_工作空间_15

kettle7.0将sqlserver中的数据同步到mongoDB中_mongodb_16

以上是关于kettle中的MongoDB Input控件无法传参,我现在需要获取昨天的日期然后在它的query中编写语句。的主要内容,如果未能解决你的问题,请参考以下文章

kettle7.0将sqlserver中的数据同步到mongoDB中

带有 ssl 连接的 Kettle mongoDB 输入

限制 Kettle 的 mongodb 输入中的行数

pentaho dpi-5.3(kettle)中的mongodb源代码在哪里?

Kettle+MongoDB 数据同步到MySQL

实战使用 Kettle 工具将 mysql 数据增量导入到 MongoDB 中