实验4.数据全量、增量、比较更新

【实验目的】

1.利用Kettle的“表输入”,“表输入出”,”JavaScript代码”组件,实现数据全量更新。
2.熟练掌握“JavaScript代码”,“表输入”,“表输入出”组件的使用,实现数据全量更新。

【实验原理】

通过“表输入”对MySQL表格的数据读入,然后通过“JavaScript代码”更新抽取数据的时间,再通过“表输入出”保存表格到MySQL数据库。

【实验环境】

操作系统:Windows10 
Kettle版本:7.1.0.0
jdk版本:1.8.0及以上版本

【实验步骤】

一、建立转换

双击spoon.bat打开kettle。(1)点击新建按钮,在下拉菜单中点击选择"转换"即可创建;(2)然后点击"保存"重命名该转换文件,保存在某个指定的路径;(3)选择输入步骤、输出步骤和跳。

二、数据导入数据库的准备工作

1.数据库mysql

导入数据表:‘课程信息表’,

建立转换,需要组件如图所示:

实验4.数据全量、增量、比较更新_第1张图片

2.“Excel的输入”的配置

Step1:双击‘Excel输入’组件,配置‘文件’选项卡,设置输入数据的输入流和路径

实验4.数据全量、增量、比较更新_第2张图片
Step2:配置‘工作表’选项卡,设置输入数据的起始行和起始列

实验4.数据全量、增量、比较更新_第3张图片
Step3:配置‘字段’选项卡,获取字段名称,并设置字段的数据类型(重点,以防报错)

实验4.数据全量、增量、比较更新_第4张图片

3.“表输出”的配置

Step1:连接数据库

创建数据库代码

create database testbase;
use testbase;
CREATE TABLE courses1 (
    编号 DOUBLE,
    课程名称 VARCHAR(255), 
    课程大类 VARCHAR(255), 
    学分 DOUBLE,
    讲师 VARCHAR(255), 
    开课时间 DATETIME,
    课时数 INT,  
    ETL_TIMESTAMP DATETIME
);

实验4.数据全量、增量、比较更新_第5张图片

Step2:选择数据库和表名

实验4.数据全量、增量、比较更新_第6张图片 Step3:确定

 实验4.数据全量、增量、比较更新_第7张图片

Step4:获取字段

实验4.数据全量、增量、比较更新_第8张图片4.运行结果

实验4.数据全量、增量、比较更新_第9张图片

三、各组件的配置

1.“表输入”的配置:

Step1:双击‘表输入’组件,新建数据库的连接并进行测试,

实验4.数据全量、增量、比较更新_第10张图片
Step2:连接成功后,获取表的字段名称

实验4.数据全量、增量、比较更新_第11张图片
2.“JavaScript代码”的配置:

双击“HTTP client”组件,编写Script1的代码,并获取其相应字段名称和类型。

实验4.数据全量、增量、比较更新_第12张图片
3.“表输出”的配置:

双击‘表输出’组件,选择目标表的名称,并使用SQL语句进行创建:

还要进行目标表courses2的创建

create database testbase;
use testbase;
CREATE TABLE courses2 (
    编号 DOUBLE,
    课程名称 VARCHAR(255), 
    课程大类 VARCHAR(255), 
    学分 DOUBLE,
    讲师 VARCHAR(255), 
    开课时间 DATETIME,
    课时数 INT,  
    ETL_TIMESTAMP DATETIME
);

实验4.数据全量、增量、比较更新_第13张图片

实验4.数据全量、增量、比较更新_第14张图片
4.“表输出2”的配置:

双击‘表输出2’组件,选择目标表的名称,并使用SQL语句进行创建:

进行目标表courses3的创建

create database testbase;
use testbase;
CREATE TABLE courses3 (
    编号 DOUBLE,
    课程名称 VARCHAR(255), 
    课程大类 VARCHAR(255), 
    学分 DOUBLE,
    讲师 VARCHAR(255), 
    开课时间 DATETIME,
    课时数 INT,  
    ETL_TIMESTAMP DATETIME
);

实验4.数据全量、增量、比较更新_第15张图片

实验4.数据全量、增量、比较更新_第16张图片

四、执行转换

点击按钮,执行转换,结果如下:

实验4.数据全量、增量、比较更新_第17张图片

五、实验结果:

输入文件‘课程信息表.xlsx’:

实验4.数据全量、增量、比较更新_第18张图片

table output

实验4.数据全量、增量、比较更新_第19张图片

table output2 

实验4.数据全量、增量、比较更新_第20张图片

你可能感兴趣的:(kette,etl,数据分析)