kettle实验:数据仓库缓慢变化维更新类型2

【实验目的】
1、利用Kettle的“维度查询/更新”,“表输入”步骤,实现的转换创建与数据仓库缓慢变化维更新的方法。
2、熟练掌握“维度查询/更新”,“表输入”等组件的使用,利用Kettle转换实现数据仓库缓慢变化维更新(类型2)的方法。即业务主体数据发生变化时,用当前最新数据生成新的数据行,保存多个历史版本。

【实验原理】
通过创建Kettle转换 ,利用“维度查询/更新”,“表输入”等组件,实现数据仓库缓慢变化维更新(类型2),即业务主体数据发生变化时,用当前最新数据生成新的数据行,保存多个历史版本。

【实验环境】
操作系统:Windows10 
Kettle版本:7.1.0.0
jdk版本:1.8.0及以上版本

【实验步骤】

一、建立转换

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

二、各组件的配置

1.Mysql中创建数据表并插入数据
Step1:创建数据表student,代码如下:
CREATE TABLE student (
id bigint(20) NOT NULL AUTO_INCREMENT,
account varchar(255) DEFAULT NULL,
name varchar(255) DEFAULT NULL,
address varchar(255) DEFAULT NULL,
loadtime datetime DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;
在这里插入图片描述

插入数据后,查询数据表如下图所示:select * from student;
在这里插入图片描述

Step2:创建数据表student_scd2,代码如下:
CREATE TABLE student_scd2 (
id bigint(20) NOT NULL AUTO_INCREMENT,
account varchar(255) DEFAULT NULL,
name varchar(255) DEFAULT NULL,
address varchar(255) DEFAULT NULL,
updatetime datetime DEFAULT NULL,
version int(11) DEFAULT NULL,
date_from datetime DEFAULT NULL,
date_to datetime DEFAULT NULL,
id_1 bigint(20) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8;
在这里插入图片描述

插入数据后,查询数据表如下图所示:select * from student_scd2;
在这里插入图片描述

2.“表输入student_scd2”的配置
Step1:双击‘表输入student_scd2’组件,设置数据库连接为sqlconn,并测试连接
在这里插入图片描述

Step2:获取SQl查询语句,设置表student最大的更新时间,其中,
使用coalesce()解释:返回参数中的第一个非空表达式(从左向右依次类推)
在这里插入图片描述

3.“表输入student”的配置:
双击“表输入student”组件,设置缓慢维度变化维度是类型2(添加新的内容同时保存历史记录)
在这里插入图片描述

3.“维度查询/更新student_scd2”的配置:
Step1:配置目标表、关键字段的名称、以及代理关键字段
在这里插入图片描述

Step2:配置‘字段’选项卡,设置字段名称和与之匹配的流字段,更新的类型设置为插入
在这里插入图片描述

三、执行转换

点击按钮,执行转换,结果如下:
在这里插入图片描述

四、实验结果:

输出结果数据表‘student_scd2’:
在这里插入图片描述

五、实验总结

本次实验的目的主要是希望通过创建Kettle转换,利用“维度查询/更新”,“表输入”等组件,实现数据仓库缓慢变化维更新(类型2)的数据历史版本输出和保存。
本次实验过程中,在数据库运用的过程中,进一步增强了遇到问题网上搜索解决的能力,并从中获取更多的知识和运用。

附 件:

在这里插入图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要想在百度八亿网页的数据海洋中找到你所要的信息, 人工方式需要1200 多人年,而百度搜索技术不到1 秒钟。人 们被数据淹没,却渴望知识。商务智能技术已成为当今企业 获取竞争优势的源泉之一。商务智能通常被理解为将企业中 现有的数据转化为知识,帮助企业做出明智决策的IT工具集。 其中数据仓库、OLAP和数据挖掘技术是商务智能的重要组成 部分。商务智能的关键在于如何从众多来自不同企业运作系 统的数据中,提取有用数据,进行清理以保证数据的正确性, 然后经过抽取、转换、装载合并到一个企业级的数据仓库里, 从而得到企业数据的一个全局视图,并在此基础上利用适当 的查询分析、数据挖掘、OLAP等技术工具对其进行分析处理, 最终将知识呈现给管理者,为管理者的决策过程提供支持。 可见,数据仓库技术是商业智能系统的基础,在智能系统开 发过程中,星型模式设计又是数据仓库设计的基本概念之一。 星型模式是由位于中央的事实表和环绕在四周的度表 组成的,事实表中的每一行与每个度表的多行建立关系, 查询结果是通过将一个或者多个度表与事实表结合之后产 生的,因此每一个度表和事实表都有一个“一对多”的连 接关系,度表的主键是事实表中的外键。随着企业交易量 的越来越多,星型模式中的事实表数据记录行数会不断增加, 而且交易数据一旦生成历史是不能改变的,即便不得不变动, 如对发现以前的错误数字做修改,这些修改后的数据也会作 为一行新纪录添加到事实表中。与事实表总是不断增加记录 的行数不同,度表的变化不仅是增加记录的行数,而且据 需求不同度表属性本身也会发生变化。本文着重讨论数据 仓库度表的变化类型及其更新技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值