使用Kettle增量抽取MongoDB数据实践

时间:2022-12-29 13:01:58

需求: 增量抽取MongoDB数据并加载到MSSQL

由于不能使用关系型数据库的自定义SQL, 所以主要遇到的问题有:

  1. 增量时间的查询和参数控制
  2. ETL的批次信息和调用参数的写入

 

第一个问题的解决如下:

使用命名参数在Query页中进行过滤, 一开始会担心${}的引用方式会用Mongo的语法冲突, 测试后发现运行正常

使用Kettle增量抽取MongoDB数据实践

 

第二个问题:

先为结果增加常量值, 如常量值固定则直接写死, 不固定的常量值先设置为空串, 在后面使用字符串替换组件传入命名参数, 最后用字段选择把空串的常量值移除

使用Kettle增量抽取MongoDB数据实践

 

使用Kettle增量抽取MongoDB数据实践

 

使用Kettle增量抽取MongoDB数据实践

 

使用Kettle增量抽取MongoDB数据实践