学习笔记系列----2、kettle实现时间维度

学习笔记之时间维度

整体


转换整体

分解


  1. 生成小时、分钟、秒的初始化数据行
    Generate Hours生成24行数据,用来表示一天中的24小时
    Generate Minutes生成60行数据,用来表示一天中的24小时
    Generate Seconds生成60行数据,用来表示一天中的24小时


    数据行
  2. 生成序列
    通过自增序列,形成一些列连续整数:023小时、059分钟、0~59秒。以24小时为例:

    生成自增序列

    预览小时序列如下:
    24小时

  3. Calculate hours12
    用js获取12小时制,并生计算生成对应的12小时制的符号AM/PM


    Calculate hours12

    预览效果如下:


    12小时制
  4. Cartesian Product
    这是一个“关联记录(笛卡尔输出)”步骤,用来连接两个输入流,生成笛卡尔乘积输出流,也就是两个输入流数据行的各种组合方式(m*n),每一个输出行包含所有输入行的字段。
    例如:假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。

在这里,需要生成所有的组合。一共生成246060=84600行,每一行代表24小时制中的一秒。

笛卡尔乘积

预览如下:

  1. Caclulate Time
    通过一个js生成需要的时间格式,另外生成dim_time维度的智能主键。



    效果如图:


  2. 排序记录
    按time_key进行排序


  3. 输出到表dim_time


数据库中结果如下:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,068评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,019评论 6 13
  • M文件概述 用MATLAB语言编写的程序,称为M文件。M文件可以根据调用方式的不同分为两类:命令文件(Script...
    Peanut_Butter阅读 4,533评论 0 2
  • 刘炜琪读书打卡第四天,今天我读了《世界新童话 》里面的吉姆和时间老人这一个故事,讲的是坏小子吉姆的故事,吉姆是一个...
    写作天使阅读 1,517评论 0 1
  • 1. 前几天和倩茹一起吃饭的时候,我突然想起一件事来,就问她:“哎,对了,之前追你那小帅哥呢,怎么最近没怎么见你提...
    顾一宸阅读 22,982评论 226 501

友情链接更多精彩内容