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

Posted 飞哥大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kettle庖丁解牛第10篇之表输入相关的知识,希望对你有一定的参考价值。

引言

上一篇文章中,我们介绍了:oracle监听器相关内容(简介、请求的类型、连接方式、配置监听、维护命令、查看实例名)、kettle中的DB连接(连接oracle)

在本篇文章中,我们接着介绍:kettle中的表输入组件

转换

转换(transaformation)是ETL解决方案中最主要的部分,它处理抽取、转换、加载各种对数据行的操作。

创建转换

我们要做的ETL操作,全是在转换中设计的,所以我们要先创建一个转换。

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

kettle庖丁解牛第10篇之表输入_转换_02

保存转换

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

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

kettle庖丁解牛第10篇之表输入_DB连接_04

kettle庖丁解牛第10篇之表输入_DB连接_05

创建DB连接

创建一个oracle类型的DB连接

kettle庖丁解牛第10篇之表输入_转换_06

kettle庖丁解牛第10篇之表输入_作业_07

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

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

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

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

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

表输入

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

kettle庖丁解牛第10篇之表输入_作业_11

kettle庖丁解牛第10篇之表输入_作业_12

选项说明

选项

描述

步骤名称

步骤的名称,在单一的步骤中,名称必需唯一。

数据库连接

读取数据的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、创建转换

kettle庖丁解牛第10篇之表输入_作业_13

d、表输入设置

kettle庖丁解牛第10篇之表输入_DB连接_14

e、预览记录

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

kettle庖丁解牛第10篇之表输入_作业_16

kettle庖丁解牛第10篇之表输入_作业_17

兄弟们,看到这个预览数据的界面,证明你已经成功的通过表输入组件,把你oracle库中的emp表,读取进来了。恭喜恭喜,你已经会使用表输入输入组件了。

结束语

本篇文章主要讲解了:表输入组件的各种详细设置,实战演示了如何操作它来读取oracle库中的一张表数据。

在此篇文章中,我使用的oracle类型的DB连接,然后进行了读取表中的数据。前面我们学了好几种DB连接,兄弟们自己可以试试其它类型的DB连接。

兄弟们,其实想和作是有一段距离的,你想着想着就没有了,可是你做着做着,它就落地了。

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

以上是关于kettle庖丁解牛第10篇之表输入的主要内容,如果未能解决你的问题,请参考以下文章

kettle庖丁解牛第5篇之文本文件输入

kettle庖丁解牛第13篇之XML文件输入

kettle庖丁解牛第27篇之多种数据源统一输出

kettle庖丁解牛第9篇之DB连接终篇

kettle庖丁解牛第20篇之JSON输出

kettle庖丁解牛第26篇之删除