kettle庖丁解牛第10篇之表输入

壮心未与年俱老,死去犹能作鬼雄。这篇文章主要讲述kettle庖丁解牛第10篇之表输入相关的知识,希望能为你提供帮助。
引言上一篇文章中,我们介绍了:oracle监听器相关内容(简介、请求的类型、连接方式、配置监听、维护命令、查看实例名)、kettle中的DB连接(连接oracle)
在本篇文章中,我们接着介绍:kettle中的表输入组件
转换转换(transaformation)是ETL解决方案中最主要的部分,它处理抽取、转换、加载各种对数据行的操作。
创建转换
我们要做的ETL操作,全是在转换中设计的,所以我们要先创建一个转换。


保存转换

给你新建的转换,起个名字,并保存


创建DB连接创建一个oracle类型的DB连接



兄弟们仔细看一下,此处填写的信息,正是我们jdbc需要配置的相关信息。

兄弟们,看到这个弹框提示的successfully的内容,恭喜恭喜你已经成功的使用kettle创建了一个连接oracle的DB连接!!!

表输入这一组件常常用来利用SQL连接数据库表,从数据库中读取表信息,自动生成基本的SQL语句。


选项说明

选项
描述
【kettle庖丁解牛第10篇之表输入】步骤名称
步骤的名称,在单一的步骤中,名称必需唯一。
数据库连接
读取数据的DB连接。
编辑
编辑选中的DB连接信息
新建
创建DB连接
Wizard
以向导的方式,创建DB连接
SQL
SQL 语句用来从数据库连接中读取数据。
获取SQL查询语句
通过选择数据库中的数据表生成默认的SQL语句
允许简易转换
大字段的延迟转换(延迟转换性能更高,采用byte方式处理,否则就是string方式)。勾选"允许简易转换"后,可以避免不必要的字段的数据类型转换,从而提高性能。但会有机率出现中文乱码。
替换SQL语句中的变量
如果需要传入参数变量则勾选上
从步骤插入数据
  如果该组件有上一步骤,且需要从该步骤中获取变量作为参数则选中上一步骤。
执行每一行
如果上一步骤是一个集合且该表输入需要遍历集合进行查询则勾选上。
记录数量限制
限制要查询的数据记录数,0表示没有限制。
好了,关于表输入组件的每一个选项,我都尽可能的讲解了一下。其实我日常工作中,并没有使用到这么多,常用的也就是那么几个。但是我们学习过程中,我还是讲得全一些吧,希望大家花一次时间学习,尽可能都有个大概的了解吧。下面我们实例操作一下吧,这样大更好的吸收和理解。
实战演示a、建表语句
create table EMP
(
  EMPNO     NUMBER(4),
  ENAME     VARCHAR2(10),
  JOB       VARCHAR2(9),
  MGR       NUMBER(4),
  HIREDATE DATE,
  SAL       NUMBER(7,2),
  COMM     NUMBER(7,2),
  DEPTNO   NUMBER(2)
);
b、往表中插入数据
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7369, SMITH, CLERK, 7902, to_date(17-12-1980, dd-mm-yyyy), 800, null, 20);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7499, ALLEN, SALESMAN, 7698, to_date(20-02-1981, dd-mm-yyyy), 1600, 300, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7521, WARD, SALESMAN, 7698, to_date(22-02-1981, dd-mm-yyyy), 1250, 500, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7566, JONES, MANAGER, 7839, to_date(02-04-1981, dd-mm-yyyy), 2975, null, 20);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7654, MARTIN, SALESMAN, 7698, to_date(28-09-1981, dd-mm-yyyy), 1250, 1400, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7698, BLAKE, MANAGER, 7839, to_date(01-05-1981, dd-mm-yyyy), 2850, null, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7782, CLARK, MANAGER, 7839, to_date(09-06-1981, dd-mm-yyyy), 2450, null, 10);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7788, SCOTT, ANALYST, 7566, to_date(19-04-1987, dd-mm-yyyy), 3000, null, 20);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7839, KING, PRESIDENT, null, to_date(17-11-1981, dd-mm-yyyy), 5000, null, 10);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7844, TURNER, SALESMAN, 7698, to_date(08-09-1981, dd-mm-yyyy), 1500, 0, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7876, ADAMS, CLERK, 7788, to_date(23-05-1987, dd-mm-yyyy), 1100, null, 20);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7900, JAMES, CLERK, 7698, to_date(03-12-1981, dd-mm-yyyy), 950, null, 30);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7902, FORD, ANALYST, 7566, to_date(03-12-1981, dd-mm-yyyy), 3000, null, 20);
insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values (7934, MILLER, CLERK, 7782, to_date(23-01-1982, dd-mm-yyyy), 1300, null, 10);
commit;
c、创建转换

d、表输入设置

e、预览记录



兄弟们,看到这个预览数据的界面,证明你已经成功的通过表输入组件,把你oracle库中的emp表,读取进来了。恭喜恭喜,你已经会使用表输入输入组件了。
结束语
本篇文章主要讲解了:表输入组件的各种详细设置,实战演示了如何操作它来读取oracle库中的一张表数据。

在此篇文章中,我使用的oracle类型的DB连接,然后进行了读取表中的数据。前面我们学了好几种DB连接,兄弟们自己可以试试其它类型的DB连接。
兄弟们,其实想和作是有一段距离的,你想着想着就没有了,可是你做着做着,它就落地了。

啥都别说了,兄弟们后面跟着我干就完了,我们依然掰开揉碎的方式去说。后续的内容更精彩,敬请期待,感谢兄弟们的关注!

    推荐阅读