kettle入门(六) 之kettle抽取变量表名表

背景:


ods平台的一个很简单的数据抽取需求:


上游系统有一个月表,每个月出上个月数据并放在新建的月表里。例如:20150401出3月份表和数据 TB_B_FT_BROADBAND_201503,

20150501出4月份表和数据 TB_B_FT_BROADBAND_201504。而ods需要每月初等他们数据出来后再抽取过来。

需求很简单,用kettle最常见的表输入和输出抽取即可,但是表输入的select 语句里面的表名需要使用变量。


解决:


使用job kjb如下 完成此需求,如下图,步骤如下:

1  start

2 设置表明使用的变量:时间变量(tabledate.ktr)

3 抽取(即表输入》表输出)(TB_B_FT_BROADBAND.ktr)




设置时间变量的转换如下,tabledate.ktr:



时间变量设置参考:http://blog.csdn.net/xiaohai798/article/details/41867835


 TB_B_FT_BROADBAND.ktr


抽取 TB_B_FT_BROADBAND.ktr 如下:


注意点如上 :

1 from 后面的表名 ${} 里面的即是前面设置的变量

2 Replace variables in script? 方框 打上勾。变量即起上作用。


附:


select 语句

select   
LATN_ID, 
MONTH_ID, 
PRD_INST_ID, 
SERV_NBR, 
PRD_ID, 
CRM_PRD_ID, 
PRD_INST_STAS_ID, 
PRD_INST_NAME, 
PRD_INST_DESC, 
INSTALL_DATE, 
....
from eda.TB_B_FT_BROADBAND_${FILTEDATE}

关于这个需求的整体背景及其后续解决参考:

oracle开发系列(二)存储过程 execute immediate 'create table' 报 insufficient privileges错误解决及用户权限的理解

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值