我的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、输出的时候需要注意的是输出字段与以创建好的数据库字段相对应;