一、目标
用Kettle从MySQL增量导入数据到GreePlum
二、前提准备
(一)kettle已连上MySQL
(二)kettle已连上GreenPlum
三、实施步骤
(一)打开kettle,新建转换任务。拖拽2个表输入、替换NULL值、字段选择、表输出控件
1.表输入控件:在输入控件模块
2.替换NULL值控件:在应用模块
3.字段选择控件:在转换控件模块
4.表输出控件:在输出控件模块
(二)配置第一个表输入控件
第一步,双击表输入控件,打开操作界面
第二步,选择目标表所在的数据库
第三步,输入SQL语句获得目标表数据的最新时间
select(
select update_time
from db_ods.ods_production_class_line_overtime
where factory='2'
order by update_time desc limit 1) as update_time
第四步,预览数据
(三)配置替换NULL值控件
(四)配置第二个表输入控件
第一步,双击表输入控件,打开操作界面
第二步,修改步骤名称
第三步,选择数据源表所在的数据库
第四步,输入SQL语句以查询MySQL表中的增量数据
SELECT * FROM class_line_overtime
where update_time > ?
第五步,勾选替换SQL语句里的变量
第六步,从步骤插入数据里选择替换NULL值
第七步,设置记录数量限制
(五)配置字段选择控件
1.在选择和修改页面,点击获取选择的字段
2.在元数据模块,点击获取改变的字段。修改相应的字段,比如字段名、字段类型、字段格式等等
(六)配置表输出控件
1.在主选项页面
(1)选择连接对应的GreenPlum数据库、目标模式就是数据库名、目标表为表名
(2)勾选指定数据库字段
(3)勾选使用批量插入
2.在数据库字段页面
点击获取字段,检查相同字段名是否映射
(七)Ctrl+S保存,给kettle任务命名,然后点击运行
这样,用kettle从MySQL到GreenPlum的增量导入就成功了!
乐于奉献共享,帮助你我他!!!