Kylin架构原理和使用教程

Kylin开源的分布式分析引擎,为Hadoop等大型分布式数据平台之上的超大规模数据集通过标准 SQL 查询及多维分析( OLAP )功能,提供亚秒级的交互式分析能力。

Kylin的工作原理:

    典型的空间换时间。利用cube 计算的结构加速我们的查询。具体过程如下。
    1. 指定数据模型,定义维度和度量。
    2. 预计算Cube ,计算所有Cuboid 并保存为物化视图。
    3. 执行查询时,读取Cuboid ,运算,产生查询结果。

    Kylin 的查询过程不会扫描原始记录,而是通过预计算预先完成表的关联、聚合等复杂运算,并利用预计算的结果来执行查询,因此相比非预计算的查询技术,其速度一般要快一到两个数量级,并且这点在超大的数据集上优势更明显。当数据集达到千亿乃至万亿级别时, Kylin 的速度甚至可以超越其他非预计算技术1000倍以上。
总结:
Kylin 的核心思想是Cube 预计算,理论基础是空间换时间,把高复杂度的聚合运算、多表连接等操作转换成对预计算结果的查询。

离线构建:

从图中可以看出,数据源在左侧,主要是 Hadoop/Hive/Kafka/RDBMS ,保存着待分析的用户数据。
根据元数据的定义,下方构建引擎从数据源抽取数据,并构建 Cube 。
数据以关系表的形式输入,且必须符合星形模型( Star Schema )。
Map Reduce 和 Spark 是主要的构建技术,Kylin 4.0 版本中Spark Engine 是唯一的构建引擎。
构建后的 Cube 保存在右侧的存储引擎中,选用 Parquet 作为存储

REST Server层:是API接口服务层

Query Engine  引擎构建层(HIve或者Spark)

Routing:路由层(默认查询是去cube中查询,如果查不到就会去利用计算引擎查,但路由层默认关闭)

Metadata:元数据管理层

Cube Build Engine:cube : cube构建层

架构:

使用教程:

        一.创建Project

        二.创建Models阶段

                ①Model info 模型名称

                ② Datamodel 选择事实表,选择维度表,选择连接条件

                ③Dimensions 选择维度

                ④measures选择度量值

                ⑤settings设置分区

        三.创建cube

                ①cubeinfo :cube名称

                ②Dimensions:选择维度字段

                ③measures 选择度量值

                ④Refresh setting 设置存在hbase中的hfile小文件合并周期

                ⑤Hdvanced settings 高级聚合设置

                ⑥configurration overwrites

                ⑦overView展示页面

                ⑧save保存,选择action开始构建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值