Apache Kylin基本原理与常见优化

一、基本原理

Apache Kylin是个开源分布式OLAP引擎,其基本原理是数据立方和预计算

Kylin一般是作为数据仓库的应用层引擎,对业务提供SQL查询分析服务,针对数据维度多、数据基数大的场景,Kylin预计算可以保证在毫秒级时间返回分析结果,查询阶段性能十分出众。

Kylin的相关人员主要分为三种角色:1. 数据用户 2. 数据仓库建模人员 3. 数据平台管理员。数据用户通过BI可视化分析工具或者编写SQL查询Kylin的数据; 数据仓库建模人员维护Kylin元数据,设计如何构建Cube,选择维度、度量;数据平台管理员提供存储和计算平台支持,目前最常见的存储引擎是HBase,计算引擎是Spark。

在这里插入图片描述

1. 基础模型:Star Schema

我们以电商场景为例具体看一下如何设计和构建Kylin Cube。下图是一个典型数据仓库中的星型模型,模型的中心是事实表 fact_sales,模型的周围是五张维度表:dim_date,dim_product, dim_store,dim_promotion,dim_customer,它们通过代理键和事实表相关联;

在这里插入图片描述

在这个星型模型下,有一个需求,“分析电商网站用户在一周的每一天中,更倾向于购买Fresh Fruit还是Candy”;

终端用户用SQL实现如下查询:

SELECT
dim_date.weekday, dim_product.category,
SUM(fact_sales.quantity) AS quantity_sold
FROM fact_sales
JOIN dim_date ON fact_sales.date_key = dim_date.date_key
JOIN dim_product ON fact_sales.product_sk = dim_product.product_sk
WHERE
dim_date.year <
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值