Kettle+MongoDB 数据同步到MySQL


1、前言:

MongoDB中的date类型以UTC(Coordinated Universal Time)存储,isodate类型,就等于GMT(格林尼治标准时)时间。而北京所处的是+8区,所以mongo shell会将当前的GMT+0800时间减去8,存储成GMT时间。


2、抽取作业概述

Kettle+MongoDB 数据同步到MySQL_第1张图片

3、组件选择:

Kettle+MongoDB 数据同步到MySQL_第2张图片

4、增量处理:

Kettle+MongoDB 数据同步到MySQL_第3张图片

Kettle+MongoDB 数据同步到MySQL_第4张图片

在MongoDB中查询如下是正确的:

> db.xamessages.find({created_at:{$gte:ISODate("2016-08-16 18:33:36")},yy_id:48}).sort({created_at:1}).limit(1)

但是在kettle mongodb中查询则会报错。

解决办法:

{"$query":{"created_at":{"$gte":{"$date":"2016-11-03T00:00:00Z"}}}}


kettle维基百科:http://wiki.pentaho.com/display/BAD/Create+a+Parameterized+Report+with+MongoDB