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错误解决及用户权限的理解

时间: 2024-10-24 23:19:46

kettle入门(六) 之kettle抽取变量表名表的相关文章

kettle入门(五) 之kettle读取gz格式文本详细案例

背景: ods平台的一个很简单的数据共享需求: 运营商的某个部门每天定时送gz格式的HLR文本数据到FTP服务器的固定目录下.然后ods每天定时去取然后录入到RDBMS的表中,开放给其他系统查询调用,这种称作数据库表接口. 需求很简单,但是因为以前只用过文本输入做txt 或者csv.excel ,所以一时就想怎么先把gz格式解压出来,再用文本文件输入,首先想到了用 kettle3自带的unzip 功能 如下图: 结果发现 解压不了gz格式的,后来又想到使用shell命令,但是在后台putty可以

用PL/SQL Developer工具实现相同表名表结构的比对

原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/45746893 实验: 规划好实验用表 库 用户名 用户表 A库 scott emp B库 hyl emp scott用户下进行比对验证,如下: 选择要比对的表,如下图: 添加目标用户连接,如下: 开始比对,如下: 比对完成后,通过比对结果形成修正sql语句,如下: 在

kettle入门(四) 之kettle中取任意时间变量的使用详细案例

引: 在数据仓库项目中 有一类和生产或者外围系统交互的接口称为FTP文件接口, 用kettle开发.实现这种接口 配置脚本时,经常需要用时间变量来取或者上传FTP里面 固定格式文件名的文本,例如 生产系统定时 每天推送前天的数据文本 到某个FTP服务器 2014-04-28 推送文件名 2015-04-26.txt.gz 2014-04-27 推送文件名 2015-04-25.txt.gz 实现: kettle 版本3.0.4,如下图所示: 所需要三个功能组件 1 获取系统信息 2 java s

kettle入门(七) 之kettle增量方案(一)全量比对取增量-依据唯一标示

引: ods有个project表来自于上游系统,数据量不大 十几万,下游系统须要此数据,而且须要每天提供截止当天的增量数据 要求每条数据给出数据变化时间及标示,即数据若是插入 有插入时间和插入标示 若是改动 有改动时间和改动标示 若是删除需逻辑删除.有删除标示且有删除时间 解决: kettle的转换ktr里有一个图元叫做合并记录.能够把两个表输入分为源和目的依据唯一标示 进行全量比对.由此.我们得到增量的数据流,再写入到RDBMS里,即能够实现该需求.实现功能的ktr例如以下图: 1 输入源 合

kettle入门(七) 之kettle增量方案(一)全量比对取增量-根据唯一标示

引: ods有个工程表来自于上游系统,数据量不大 十几万,下游系统需要此数据,并且需要每天提供截止当天的增量数据 要求每条数据给出数据变化时间及标示,即数据若是插入 有插入时间和插入标示 若是修改 有修改时间和修改标示 若是删除需逻辑删除.有删除标示且有删除时间 解决: kettle的转换ktr里有一个图元叫做合并记录,可以把两个表输入分为源和目的根据唯一标示 进行全量比对.由此,我们得到增量的数据流,再写入到RDBMS里,即可以实现该需求.实现功能的ktr如下图: 1 输入源 合并记录 上图,

kettle入门(三) 之kettle连接hadoop&hdfs图文详解(转)

1 引言: 项目最近要引入大数据技术,使用其处理加工日上网话单数据,需要kettle把源系统的文本数据load到hadoop环境中 2 准备工作: 1 首先 要了解支持hadoop的Kettle版本情况,由于kettle资料网上较少,所以最好去官网找,官网的url: http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Version 打开这个url 到页面最下面的底端,如下图: ar

kettle入门(三) 之kettle连接hadoop&hdfs图文详解

1 引言: 项目最近要引入大数据技术,使用其处理加工日上网话单数据,需要kettle把原始文本数据load到hadoop环境中 2 准备工作: 1 首先 要了解支持hadoop的Kettle版本情况,由于kettle资料网上较少,所以最好去官网找,官网的url: http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Version 打开这个url 到打开页面最下面的底端如下图: arc

Oracle 获取表名和某个表的所有列名

获取某用户下所有的表名: select table_name from user_tables order by table_name; 获取某用户下某个表的所有列名 where 语句中TABLE_NAME="表名"  表名必需大写: select column_name from user_tab_columns where Table_Name = 'EMP' order by column_name; 原文地址:https://www.cnblogs.com/xsdf/p/825

oracle 中如何查询当前用户可以看到的表名、表对应的所有字段

前言:利用 oracle 的视图来查询表的相关信息. oracle 查询当前用户下的表名 + 表注释 select t.table_name tableName, f.comments comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name oracle 查询某表的所有字段 + 字段注释 + 字段类型 SELECT t.TABLE_NAME tableName, t.COL