【实验目的】

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

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

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

2.“Excel的输入”的配置

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


Step2:配置‘工作表’选项卡,设置输入数据的起始行和起始列


Step3:配置‘字段’选项卡,获取字段名称,并设置字段的数据类型(重点,以防报错)

3.“表输出”的配置

Step1:连接数据库

创建数据库代码

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

Step2:选择数据库和表名

 Step3:确定

 

Step4:获取字段

4.运行结果

三、各组件的配置

1.“表输入”的配置:

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


Step2:连接成功后,获取表的字段名称


2.“JavaScript代码”的配置:

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


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.“表输出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
);

四、执行转换

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

五、实验结果:

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

table output

table output2 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐