首页 > 代码库 > kettle导数删除并插入更新数据_20161130
kettle导数删除并插入更新数据_20161130
这里有3个表 仅是时间维度不同 天 周 月,现在需要把昨天数据每天添加进入这3个表
由于业务上会有退货等情况,因此需要先把这些表原来的部分数据删除 再从那个时间点进行更新。
天需要先删除前7天的数据,周需要删除前2周数据,月需要删除2个月之前数据 以保证数据准确
kettle 中提供了执行SQL脚本控件,因此我们先删除原来的数据,以第一个执行SQL脚本为例。
1、删除时间为天维度的表前7天的数据
DELETE FROM `tb010_02d` WHERE 在线日期>=DATE_ADD(CURRENT_DATE,INTERVAL -7 DAY)
2、进行表的数据插入 表输入步骤 where 条件以前7天那个时间日期为起点
SQL:
SELECT d.ID,a.城市,a.在线日期,c.商品分类一级,c.商品分类二级,c.商品分类三级,a.产品ID,c.产品名称,b.汇总单品量,订单额 FROM ( SELECT 城市,DATE(在线日期) AS 在线日期,产品ID FROM `a010_dynamic_产品` WHERE 在线日期>=DATE_ADD(CURRENT_DATE,INTERVAL -7 DAY) AND 在线日期<CURRENT_DATE GROUP BY 城市,DATE(在线日期),产品ID ) AS a LEFT JOIN ( SELECT 城市,DATE(订单日期) AS 订单日期,产品ID,SUM(汇总单品量) AS 汇总单品量,SUM(金额) AS 订单额 FROM `a003_order` WHERE 订单日期>=DATE_ADD(CURRENT_DATE,INTERVAL -7 DAY) AND 订单日期<CURRENT_DATE AND 金额>0 GROUP BY 城市,DATE(订单日期),产品ID ) AS b ON a.城市=b.城市 AND a.产品ID=b.产品ID AND a.在线日期=b.订单日期 LEFT JOIN `a002_产品` AS c ON a.产品ID=c.产品ID LEFT JOIN `a000_city` AS d ON a.城市=d.城市
脚本设置:
3、表输出步骤。
千万不能勾选裁剪表选项 勾选上会把表数据全部删除只导入前7天的数据
kettle导数删除并插入更新数据_20161130
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。