我的Kettle学习笔记(3)—时间维度表创建

本案例基于kettle8.2 ,以sakila_dwh案例为素材,相关数据网络下载

一、流程图

二、生成小时、分钟、秒数据

1,新建转换-输入-生成记录,步骤名称为“生成小时”
2,复制两次上述步骤,分别命名为“生成分”、“生成秒”
3,按以下标记输入内容:
(1)生成时:

(2)生成分:

(3)生成秒:

三、增加序列

1,点击“转换-增加序列”,命名为“增加时序列”
2,将步骤复制两份,分别命名为“增加分序列”、“增加秒序列”
3,按以下标记输入内容:

四、增加时属性

1,点击“脚本-JavaScript代码”
2,将以下代码复制:

var hours12 = hours24.getInteger() % 12;
var am_pm = (hours24 >= 12 ? 'PM': 'AM')

3,选择兼容模式-点击获取变量-确定

五、生成笛卡尔级

1,点击“连接-记录关联(笛卡尔输出)”
2,将步骤“增加时属性”、“增加分序列”、“增加秒序列”与步骤“记录关联(笛卡尔输出)”建立联系

六、生成时间属性

1,点击“脚本-JavaScript代码”
2,将以下代码复制:

var time = hours24.getInteger() + ":" + minutes.getInteger() + ":" + seconds.getInteger() 
var time_key = (hours24.getInteger()<10?"0":"")+ hours24.getInteger()
			 + (minutes.getInteger()<10?"0":"")+ minutes.getInteger()
			 + (seconds.getInteger()<10?"0":"")+ seconds.getInteger()

3,选择兼容模式-点击获取变量-确定

至此,整个时间维度表格式已创建完成

七、表输出

1、此处输出只mysql数据库,此处不过多阐述;
2、输出的时候需要注意的是输出字段与以创建好的数据库字段相对应;

posted @ 2021-11-26 16:39  xiaojy  阅读(618)  评论(0编辑  收藏  举报