Kylin 技术架构(三)

Kylin 技术架构图

微信图片_20210615143317

Kylin 系统可以分为在线查询和离线构建两部分

离线构建
  • 数据源目前主要是 Hadoop、Hive、Kafka和 RDBMS,其中保持着待分析的用户数据
  • Cube Build Engine(构建引擎)从数据源中抽取数据,并构建 Cube
  • 数据以关系表的形式输入,且必须符合星形或雪花模型
  • 用户可以新选择使用 MapReduce 或 Spark 进行构建
  • 构建后的 Cube 保存在存储引擎中(目前 HBase 是默认的存储引擎)
在线查询
  • 用户可以通过各种接口方式向 Kylin 发送 SQL 进行查询分析
  • 无论哪种接口方式,最终 SQL 都会来到 REST 服务层,再转交给查询引擎进行处理
  • SQL 语句是基于数据源的关系模型书写的,而不是 Cube(Kylin 在设计时刻意对查询用户屏蔽 Cube 的概念)
  • 分析师只需要理解简单的关系模型就可以使用 Kylin,没有额外的学习门槛(传统的 SQL 应用也很容易迁移)
  • 查询引擎解析 SQL,生成基于关系表的逻辑执行计划,然后将其转译为基于 Cube 的物理执行计划,最后查询预计算生成的 Cube 产生结果(整个过程不访问原始数据源)

Kylin 使用流程

  • 定义数据集上的一个星形或雪花形模型
  • 在定义的数据表上构建cube
  • 使用标准 SQL 通过 ODBC、JDBC 或 RESTFUL API 进行查询,仅需亚秒级响应时间即可获得查询结果
作者:Binge
本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/binbingg/p/14917287.html