博文目录
0. Kylin概览(官方)
Apache Kylin™是一个开源的、分布式的分析型数据仓库,提供Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由 eBay 开发并贡献至开源社区。它能在亚秒内查询巨大的表。1
Apache Kylin™ 令使用者仅需三步,即可实现超大数据集上的亚秒级查询。
- 1.定义数据集上的一个星形或雪花形模型
- 2.在定义的数据表上构建cube
- 3.使用标准 SQL 通过 ODBC、JDBC 或 RESTFUL API 进行查询,仅需亚秒级响应时间即可获得查询结果
Kylin 提供与多种数据可视化工具的整合能力,如 Tableau,PowerBI 等,令用户可以使用 BI 工具对 Hadoop 数据进行分析。
1. Kylin特性
- 可扩展超快的基于大数据的分析型数据仓库:
Kylin 是为减少在 Hadoop/Spark 上百亿规模数据查询延迟而设计 - Hadoop ANSI SQL 接口:
作为一个分析型数据仓库(也是 OLAP 引擎),Kylin 为 Hadoop 提供标准 SQL 支持大部分查询功能 - 交互式查询能力:
通过 Kylin,用户可以与 Hadoop 数据进行亚秒级交互,在同样的数据集上提供比 Hive 更好的性能 - 多维立方体(MOLAP Cube):
用户能够在 Kylin 里为百亿以上数据集定义数据模型并构建立方体 - 实时 OLAP:
Kylin 可以在数据产生时进行实时处理,用户可以在秒级延迟下进行实时数据的多维分析。 - 与BI工具无缝整合:
Kylin 提供与 BI 工具的整合能力,如Tableau,PowerBI/Excel,MSTR,QlikSense,Hue 和 SuperSet - 其他特性
- Job管理与监控
- 压缩与编码
- 增量更新
- 利用HBase Coprocessor
- 基于HyperLogLog的Dinstinc Count近似算法
- 友好的web界面以管理,监控和使用立方体
- 项目及表级别的访问控制安全
- 支持LDAP、SSO
3. Kylin生态圈
- Kylin 核心:
Kylin 基础框架,包括元数据(Metadata)引擎,查询引擎,Job引擎及存储引擎等,同时包括REST服务器以响应客户端请求 - 扩展:
支持额外功能和特性的插件 - 整合:
与调度系统,ETL,监控等生命周期管理系统的整合 - 用户界面:
在Kylin核心之上扩展的第三方用户界面 - 驱动:
ODBC 和 JDBC 驱动以支持不同的工具和产品,比如Tableau
上述三块是关于Apache Kylin的引入概述,下面开始博文主要部分。
3. Kylin集成前环境准备
- 基于Cloudera Manager部署的一个Hadoop集群:
从图可见满足基础前提环境,有Hive和Hbase等。 - 原本存在Hadoop集群,所以满足其他所需条件,比如JDK等
4. 安装部署
4.1 下载Kylin
http://kylin.apache.org/download/
Download
我这里选择下载了apache-kylin-2.3.1-cdh57-bin.tar.gz 。
4.2 部署Kylin
- 解压:
tar -zxvf apache-kylin-2.3.1-cdh57-bin.tar.gz -C /opt
- 改名:
mv /opt/apache-kylin-2.3.1 /opt/apache-kylin-2.3.1-cdh57-bin
- 链接:
ln -sf /opt/apache-kylin-2.3.1-cdh57-bin /opt/kylin
- 配置:
vim /etc/profile
# Add KYLIN_HOME export KYLIN_HOME=/opt/kylin PATH=$PATH:$HOME/bin:$KYLIN_HOME/bin
- 生效:
source /etc/profile
4.3 启动Kylin
- 启动前检查:
[root@bdpcm01 ~] cd /opt/kylin/bin [root@bdpcm01 bin]# ll total 80 -rwxr-xr-x 1 root root 2696 Mar 25 2018 check-env.sh -rwxr-xr-x 1 root root 1414 Mar 25 2018 check-migration-acl.sh -rwxr-xr-x 1 root root 2328 Mar 25 2018 diag.sh -rwxr-xr-x 1 root root 2725 Mar 25 2018 find-hadoop-conf-dir.sh -rwxr-xr-x 1 root root 1576 Mar 25 2018 find-hbase-dependency.sh -rwxr-xr-x 1 root root 5452 Mar 25 2018 find-hive-dependency.sh -rwxr-xr-x 1 root root 1964 Mar 25 2018 find-kafka-dependency.sh -rwxr-xr-x 1 root root 1476 Mar 25 2018 find-spark-dependency.sh -rwxr-xr-x 1 root root 1139 Mar 25 2018 get-properties.sh -rwxr-xr-x 1 root root 1520 Mar 25 2018 header.sh -rwxr-xr-x 1 root root 1638 Mar 25 2018 health-check.sh -rwxr-xr-x 1 root root 3816 Mar 25 2018 kylin-port-replace-util.sh -rwxr-xr-x 1 root root 7960 Mar 25 2018 kylin.sh -rwxr-xr-x 1 root root 1436 Mar 25 2018 load-hive-conf.sh -rwxr-xr-x 1 root root 3373 Mar 25 2018 metastore.sh -rwxr-xr-x 1 root root 5739 Mar 25 2018 sample.sh -rwxr-xr-x 1 root root 1299 Mar 25 2018 sample-streaming.sh [root@bdpcm01 bin]# ./check-env.sh Retrieving hadoop conf dir... KYLIN_HOME is set to /opt/apache-kylin-2.3.1-cdh57-bin [root@bdpcm01 bin]# #这样的结果下就可以启动Kylin了。
- 启动服务:
[root@bdpcm01 bin]# ./kylin.sh start #启动执行时会自动检索相关依赖,会看到retrieving XXX dependency... #当出现下面信息时,说明启动成功。接下来就可以去Web UI操作了。 Web UI is at http://<hostname>:7070/kylin
- Web UI:
5. 实例测试
Kylin 在$KYLIN_HOME/bin
目录下有一个sample.sh
可执行文件,是一个快速入门样板实例。只要执行以下几步就可以进行Kylin快速入门:
root@bdpcm01 bin]# ./sample.sh
root@bdpcm01 bin]# ./kylin.sh stop
root@bdpcm01 bin]# ./kylin.sh start
#注意:不能直接执行 ./kylin.sh restart,不过可以写个脚本将stop和start组合执行。
之后重新登录Web UI或者在System栏位下Reload一下Metadata就可以进行Kylin快速入门后续步骤了。
这里不详细说明实例构建相关操作,文章末会附官方文档链接2 和一篇质量博文链接3。
Apache Kylin Cube构建一般步骤:
Model栏位
- Add Project;
- Data Source下不同方式Load Hive Table;
- Models下New Model和New Cube;
- Cube构建成功且正确后,执行Build Action。
Monitor栏位
进行Cube构建的监控和配置,查看Build信息等。Cube默认执行引擎是MapReduce,Cube构建过程中可以选择Spark作执行引擎,但是需要相关配置。
Insight栏位
在线洞察分析查询,可导出查询结果为逗号分隔符的CSV文件,也可以进行Chart查看(只有Line、Bar、Pie三种Chart)。