Kylin环境搭建和操作

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。

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

4.点击Monitor页面

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

说明: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权限授予

点击+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概览,如下所示:

  • 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中。

参考文献:

[1] APACHE KYLIN概览:http://kylin.apache.org/cn/

[2] 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例:http://lxw1234.com/archives/2016/04/643.htm

[3] Apache Kylin的快速数据立方体算法:http://www.infoq.com/cn/articles/apache-kylin-algorithm

[4] 面向大数据的终极OLAP引擎方案:http://www.csdn.net/article/2014-10-25/2822286

[5] Kylin的OLAP引擎:http://www.mamicode.com/info-detail-1015006.html

[6] Apache Kylin大数据时代的OLAP利器:http://www.bitstech.net/author/huwei/

[7] Kylin的Cube模型:http://www.cnblogs.com/en-heng/p/5239311.html

时间: 2024-08-04 05:16:39

Kylin环境搭建和操作的相关文章

hadoop伪分布式环境搭建:linux操作系统安装图解

本篇文章是接上一篇<新手入门篇:虚拟机搭建hadoop环境的详细步骤>,上一篇有人问怎么没写hadoop安装.在文章开头就已经说明了,hadoop安装会在后面写到,因为整个系列的文章涉及到每一步的截图,导致文章整体很长.会分别先对虚拟机的安装.Linux系统安装进行介绍,然后才会写到hadoop安装,关于hadoop版本我使用的是大快搜索三节点发行版DKhadoop.(三节点的DKHadoop发行版可以自己去大快网站页面下载,目前是开放所有权限的,也就是免费版本和付费版本的权限一样,不知道以后

GitLab-CI环境搭建与操作手册

第一章系统安装简介 1.1.系统结构 GitLab-CI持续集成服务主要包括gitlab.runner 2个模块.Gitlab主要负责代码文件的管理:runner则负责版本编译.存储.推送等任务 GitLab服务公司原有已经搭建.只需搭建runner服务,并与gitlab对接即可. 第二章安装环境 2.1.系统要求: 服务器要求 操作系统 Ubuntu 14(强制要求,sdk代码必须在该系统下编译) 存储 涉及到每日构建版本的存储,建议1T以上 网络 需要连接外网:能够与gitlab服务器通讯

操作系统内核Hack:(一)实验环境搭建

操作系统内核Hack:(一)实验环境搭建 三四年前,心血来潮,入手<Orange's:一个操作系统的实现>学习操作系统内核,还配套买了王爽的<汇编语言(第二版)>和<80X86汇编语言程序设计教程>,虽然Orang's只看了不到三分之一,但当时还是很认真的,练习也做了不少.唯一遗憾的就是没有留下文字记录,导致现在忘得差不多一干二净了,后悔不已!如今想再捡起来,弥补当时的懒惰,虽然困难重重,但这么优秀的国产书怎么能看完就算了呢!而且当年还是在Windows下练习的,现在终

Ubuntu14.04 Kylin下 GO语言环境搭建

sudo apt-get install golang gccgo安装 gcc -v 查看 --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin 如果有一个go,说明你的gcc支持golang,那么就执行以下命令安装gcc-go(大家试一下这命令,我不敢确定): sudo apt-get install gccgo 设置系统环境变量 sudo gedit /etc/profile export

APPIUM环境搭建及APP配合RF自动化的操作步骤

在用APPIUM做APP自动化测试过程中,首先碰到的问题就是环境搭建. 过程相对于WEB端自动化来说,搭建过程稍微复杂些,但是appium与WEB端的selenium原理相差不多. 二者在robotframework自动化框架中,共用了很多API关键字. APPIUM环境搭建步骤简单概述一下. 前提,我都是用的PYTHON开发语言做的自动化. 第一步: pip install Appium-Python-Client 第二步: pip install robotframework-appiuml

OA项目环境的搭建部署操作

项目部署 一.虚拟机安装操作系统 虚拟机安装完成后点击-创建新的虚拟机,也就是创建Windows操作系统. 二.JDK的安装 双击JDK的图标,按照提示安装完成,在我的电脑-属性-高级-环境变量-系统变量 在系统变量中点击新建 在变量名输入JAVA_HOME,在变量值处输入安装路径c:\java,点击确定 (注意所有环境变量中的符号均为英文状态下的符号) 再点击新建,变量为CLASSPATH,变量值为" .;C:\java\lib\dt.jar;C:\java\lib\ tools.jar;&q

Java操作HDFS开发环境搭建以及HDFS的读写流程

Java操作HDFS开发环境搭建 在之前我们已经介绍了如何在Linux上进行HDFS伪分布式环境的搭建,也介绍了hdfs中一些常用的命令.但是要如何在代码层面进行操作呢?这是本节将要介绍的内容: 1.首先使用IDEA创建一个maven工程: maven默认是不支持cdh的仓库的,需要在pom.xml中配置cdh的仓库,如下: <repositories> <repository> <id>cloudera</id> <url>https://re

python+selenium自动化环境搭建之后,能打开firefox,却不能执行自动化操作

python+selenium自动化环境搭建之后,选择执行,能够打开firefox,但是却不能继续执行后续操作.原因是selenium的版本与firefox的版本不兼容. 解决办法: 1.将firefox降到与selenium相对应的版本.例如我使用selenium版本是3.3.3,那我对应的firefox版本是52.0.2,如果firefox继续升级,也会出现不兼容的情况.建议可以在firefox的工具--选项--高级中设置为不检查更新,以免软件自动更新出现问题. 2.安装该浏览器版本对应的g

【原】无脑操作:Eclipse + Maven + jFinal + MariaDB 环境搭建

一.开发环境 1.windows 7 企业版 2.Eclipse IDE for Enterprise Java Developers  Version: 2019-03 (4.11.0) 3.JDK 1.8 4.Maven 3.5.2 5.MariaDB 6.Tomcat 8.5 二.基础配置 1.Eclipse中Maven的设置如下图 2.数据库使用默认的test库,创建表category 1 CREATE TABLE category 2 ( 3 categoryid INT AUTO_I