数据分析引擎之Kylin学习笔记

Apache Kylin是一个高性能的开源大数据分析引擎,提供SQL接口和多维分析能力,支持超大规模数据。本文详细介绍了Kylin的理论知识、架构、安装配置、使用方法、Cube构建原理和优化,以及如何集成BI工具。通过实例展示了如何创建Kylin项目、模型、Cube,并进行查询。此外,还探讨了Kylin的Cube构建算法和优化策略,以及如何通过JDBC和Zeppelin进行BI集成。
摘要由CSDN通过智能技术生成

文章目录

理论知识

介绍

Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口和多维分析(OLAP)能力,并支持超大规模数据,能在亚秒内查询巨大的hive表。

架构

Kylin的架构图如下图所示:
在这里插入图片描述

REST Server

REST Server是一套面向应用程序开发的入口点,旨在实现针对Kylin平台的应用开发。此类应用程序可以通过查询、获取结果、触发cube任务、获取元数据即用户权限等,也可通过Restful接口实现SQL查询。

查询引擎(Query Engine)

当cube准备就绪后,查询引擎就能获取并解析用户查询,随后会与系统中其他组件进行交互,从而向用户返回查询结果。

路由器(Routing)

Kylin最初设计时考虑过将Kylin不能执行的查询引导到Hive中执行,但实践后发现Hive和Kylin的速度差异过大,导致用户无法对查询速率有一致的期望,最后这个路由功能在发行版中默认关闭。

元数据管理工具(Metadata)

Kylin是一款元数据驱动型应用程序,因此元数据管理工具是一大关键性组件,用于管理Kylin中保存的所有元数据,包括最为重要的cube数据。其他全部组件的正常运转都需要以元数据管理工具为基础,Kylin的元数据存储在HBase中。

任务引擎(Cube Build Engine)

任务引擎的设计目的在于处理所有离线任务,包括shell脚本、Java调用和MapReduce任务等。任务引擎对Kylin中的全部任务加以管理协调,确保每一项任务都能得到执行,并处理其中出现的故障。

特点

1)、标准的SQL接口:Kylin以标准的SQL作为对外服务的接口;
2)、支持超大数据集:Kylin早在2015年eBay生产环境中就能支持百亿记录的秒级查询;
3)、亚秒级响应:Kylin优异的查询响应速度得益于预计算,即很多复杂的计算(连接、聚合等)在离线的预计算过程中就已经完成,从而大大降低了查询时所需的计算量,提升了响应速率;
4)、可伸缩性和高吞吐率:单结点Kylin可实现每秒70个查询,亦可以搭建Kylin集群;
5)、BI工具集成:Kylin可以与现有的BI工具集成,包括:ODBC(Tableau、Excel、PowerBI等)、JDBC(Saiku、BIRT等)和RestAPI(js、web等)。
Kylin团队还贡献了Zeppelin插件,可以通过Zeppelin访问Kylin服务。

安装配置和启动

我的HBase版本为1.3.1,因此需要下载的Kylin压缩包为apache-kylin-2.3.1-hbase1x-bin.tar.gz
下载解压后,进入apache-kylin-2.3.1-bin目录,修改以下配置文件:

bin/find-spark-dependenc

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值