数仓--DW--Hadoop数仓实践Case-07-角色扮演维度

角色维度扮演

  • 单个物理维度可以被事实表多次引用, 每个引用连接逻辑上存在差异的角色维度。 例如, 事实表可以有多个日期, 每个日期通过外键引用不同的日期维度, 原则上每个外键表示不同的日期维度视图, 这样引用具有不同的含义。 这些不同的维度视图具有唯一的代理键列名, 被称为角色, 相关维度被称为角色扮演维度。
  • 当一个事实表多次引用一个维度表时会用到角色扮演维度。 例如, 一个销售订单有一个是订单日期, 还有一个请求交付日期, 这时就需要引用日期维度表两次。
  • 我们期望在每个事实表中设置日期维度, 因为总是希望按照时间来分析业务情况。 在事务型事实表中, 主要的日期列是事务日期, 例如, 订单日期。 有时会发现其他
    日期也可能与每个事实关联, 例如, 订单事务的请求交付日期。 每个日期应该成为事实表的外键。
  • 两类角色扮演维度的实现, 分别是表别名和数据库视图。这两种实现都使用了Hive支持的功能。 表别名是在SQL语句里引用维度表多次, 每次引用都赋予维度表一个别名。 而数据库视图, 则是按照事实表需要引用维度表的次数, 建立相同数量的视图。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容