kylin默认mysql_Kylin环境搭建和操作

本文介绍了Apache Kylin的环境搭建过程,包括配置Tomcat、Kylin环境变量,以及启动和访问Kylin应用程序。此外,还详细阐述了如何建立Kylin Cube,监控Job,以及Cube的权限管理。Kylin是一个开源的OLAP分析引擎,为Hadoop提供快速的SQL接口和OLAP功能。文章还探讨了Kylin的工作原理,包括元数据引擎、查询引擎、Job引擎和存储引擎等组件。

问题导读:

1.什么是Kylin?

2.怎样搭建Kylin环境?3.Kylin工作原理是什么?

thread-18809-1-1.html

Kylin是一个开源的分布式的OLAP分析引擎,基于Hadoop提供SQL接口和OLAP接口,支持TB到PB级别的数据量。Kylin环境搭建前,需要安装JDK,MySQL,Tomcat,Hadoop,HBase,Hive,ZooKeeper等软件。由于我们使用Ambari对集群进行管理,所以这些工作已经做好,只简单介绍Kylin环境搭建。

一. Kylin环境搭建

下载apache-kylin-1.5.1-bin.tar.gz并且解压,配置Tomcat和Kylin的环境变量。然后主要是配置kylin.properties,比如kylin.rest.servers等。最后kylin.sh start启动Kylin,kylin.sh stop关闭Kylin。登陆http://hostname:7070/kylin访问Kylin应用程序,用户名和密码分别为ADMIN,KYLIN。

说明:需要说明的是apache-kylin-1.5.1-bin.tar.gz中已经包含Tomcat。

Kylin的一些特性,如下所示:

超级快的 OLAP 引擎,具备可伸缩性

为 Hadoop 提供 ANSI-SQL 接口

交互式查询能力

MOLAP Cube

可与其它BI工具无缝集成,比如Tableau,而Microstrategy和Excel将很快推出

作业管理和监控

压缩和编码的支持

Cube 的增量更新

Leverage HBase Coprocessor for query latency

Approximate Query Capability for distinct Count (HyperLogLog)

易用的Web管理、构建、监控和查询Cube的接口

Security capability to set ACL at Cube/Project Level

支持LDAP集成

二. Kylin Cube建立和Job监控

我们使用官方自带的例子sample.sh进行学习,如下所示:

1.运行${KYLIN_HOME}/bin/sample.sh,并重启Kylin。

解析:

在Hive默认数据库下面生成了三张表,分别为kylin_cal_dt,kylin_category_groupings,kylin_sales。

2.登陆http://hostname:7070/kylin,并选择工程"learn_kylin"。

3.点击Model页面中Actions选项中的Build。

6cbb977928e529ff6f0e46249f365cb1.gif

659735-20160510152629155-400546619.png (168.66 KB, 下载次数: 4)

2016-6-12 14:38 上传

说明:点击END DATE输入框选择增量构建这个cube的结束日期,并Submit提交请求。

4.点击Monitor页面

提交请求成功后,将会看到新建了job。点击job详情按钮查看显示于右侧的详细信息。如下所示:

6cbb977928e529ff6f0e46249f365cb1.gif

659735-20160510153519827-1923696682.png (142.5 KB, 下载次数: 4)

2016-6-12 14:39 上传

说明:job详细信息为跟踪一个job提供了它的每一步记录。可以将光标停放在一个步骤状态图标上查看基本状态和信息。点击每个步骤显示的图标按钮查看详情:Parameters、Log、MRJob、EagleMonitoring。

5.点击Insight页面中的New Query选项

解析:

select part_dt, sum(price) as total_selled, count(distinct seller_id) as sellers from kylin_sales group by part_dt order by part_dt

三. Kylin Cube权限授予

6cbb977928e529ff6f0e46249f365cb1.gif

659735-20160510155208702-1213851217.png (77.96 KB, 下载次数: 4)

2016-6-12 14:39 上传

点击+Grant按钮进行授权。一个cube有四种不同的权限,分别是CUBE QUERY,CUBE OPERATION,CUBE MANAGEMENT,CUBE ADMIN。授权对象也有两种:User和Role。Role是指一组拥有同样权限的用户。

1. 授予用户权限

解析:

选择User类型,输入你想要授权的用户的用户名并选择相应的权限。选择User类型,输入你想要授权的用户的用户名并选择相应的权限。然后点击Grant按钮提交请求。在这一操作成功后,便会在表中看到一个新的表项。可以选择不同的访问权限来修改用户权限。点击Revoke按钮可以删除一个拥有权限的用户。

2. 授予角色权限

选择Role类型,通过点击下拉按钮选择你想要授权的一组用户并选择一个权限。然后点击Grant按钮提交请求。在这一操作成功后,便会在表中看到一个新的表项。可以选择不同的访问权限来修改组权限。点击Revoke按钮可以删除一个拥有权限的组。

四. Kylin工作原理

Kylin OLAP引擎基础框架,包括元数据(Metadata)引擎,查询引擎,Job引擎及存储引擎等,同时包括REST服务器以响应客户端请求。Apache Kylin概览,如下所示:

6cbb977928e529ff6f0e46249f365cb1.gif

1.png (108.45 KB, 下载次数: 4)

2016-6-12 16:25 上传

REST Server:提供一些RESTFul接口,例如创建Cube、构建Cube、刷新Cube、合并Cube等Cube的操作,Project、Table、Cube等元数据管理、用户访问权限、系统配置动态修改等。除此之外还可以通过该接口实现SQL的查询,这些接口一方面可以通过第三方程序的调用,另一方也被Kylin的Web界面使用。

JDBC/ODBC接口:Kylin提供了JDBC的驱动,驱动的CLASSNAME为org.apache.kylin.jdbc.Driver,使用URL的前缀jdbc:kylin:,使用JDBC接口的查询走的流程和使用RESTFul接口查询走的内部流程是相同的。这类接口也使得Kylin很好的兼容Tebleau甚至Mondrian。

Query引擎:Kylin使用一个开源的Calcite框架实现SQL的解析,相当于SQL引擎层。

Routing:该模块负责将解析SQL生成的执行计划转换成Cube缓存的查询,Cube是通过预计算缓存在HBase中,这部分查询是可以在秒级甚至毫秒级完成,而还有一些操作使用过查询原始数据(存储在Hadoop上通过Hive上查询),这部分查询的延迟比较高。

Metadata:Kylin中有大量的元数据信息,包括Cube的定义,星状模型的定义、Job的信息、Job的输出信息、维度的Directory信息等等,元数据和Cube都存储在HBase中,存储的格式是JSON字符串,除此之外,还可以选择将元数据存储在本地文件系统。

Cube构建引擎:这个模块是所有模块的基础,它负责预计算创建Cube,创建的过程是通过Hive读取原始数据,然后通过一些MapReduce计算生成HTable然后加载到HBase中。

Kylin使用Hive和MR来构建Cube,Hive用作预链接,MR用作预聚合,HDFS用来储存构建Cube时的中间文件,HBase用来存储Cube,HBase的Coprocessor(协处理器)用来响应查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值