概述

Kylin定义

Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。

Kylin架构

1)REST Server

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

2)查询引擎(Query Engine)

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

3)路由器(Routing)

在最初设计时曾考虑过将Kylin不能执行的查询引导去Hive中继续执行,但在实践后发现Hive与Kylin的速度差异过大,导致用户无法对查询的速度有一致的期望,很可能大多数查询几秒内就返回结果了,而有些查询则要等几分钟到几十分钟,因此体验非常糟糕。最后这个路由功能在发行版中默认关闭。

4)元数据管理工具(Metadata)

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

5)任务引擎(Cube Build Engine)

这套引擎的设计目的在于处理所有离线任务,其中包括shell脚本、Java API以及Map Reduce任务等等。任务引擎对Kylin当中的全部任务加以管理与协调,从而确保每一项任务都能得到切实执行并解决其间出现的故障。

Kylin特点

Kylin的主要特点包括支持SQL接口、支持超大规模数据集、亚秒级响应、可伸缩性、高吞吐率、BI工具集成等。

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等Java工具集成

RestAPI:与JavaScript、Web网页集成

Kylin开发团队还贡献了Zepplin的插件,也可以使用Zepplin来访问Kylin服务。

Kylin环境搭建

安装地址

1)官网地址

http://kylin.apache.org/cn/

2)官方文档

http://kylin.apache.org/cn/docs/

3)下载地址

http://kylin.apache.org/cn/download/

安装部署

1)将apache-kylin-2.5.1-bin-hbase1x.tar.gz上传到Linux

2)解压apache-kylin-2.5.1-bin-hbase1x.tar.gz到/opt/module

tar -zxvf apache-kylin-2.5.1-bin-hbase1x.tar.gz -C /opt/module/

注意:需要在/etc/profile文件中配置HADOOP_HOME,HIVE_HOME,HBASE_HOME并source使其生效。

3)启动

bin/kylin.sh start

启动之后查看各个节点进程

--------------------- hadoop102 ----------------3360 JobHistoryServer31425 HMaster3282 NodeManager3026 DataNode53283 Jps2886 NameNode44007 RunJar2728 QuorumPeerMain31566 HRegionServer--------------------- hadoop103 ----------------5040 HMaster2864 ResourceManager9729 Jps2657 QuorumPeerMain4946 HRegionServer2979 NodeManager2727 DataNode--------------------- hadoop104 ----------------4688 HRegionServer2900 NodeManager9848 Jps2636 QuorumPeerMain2700 DataNode2815 SecondaryNameNode

注意:启动Kylin之前要保证HDFS,YARN,ZK,HBASE相关进程是正常运行的。

http://hadoop102:7070/kylin查看Web页面

用户名为:ADMIN,密码为:KYLIN(系统已填)

4)关闭

 bin/kylin.sh stop

快速入门

需求:实现按照维度(工作地点)统计员工信息

数据准备

在Hive中创建数据,分别创建部门和员工外部表,并向表中导入数据。

(1)原始数据

dept.txt

10ACCOUNTING170020RESEARCH180030SALES190040OPERATIONS1700

emp.txt

7369SMITHCLERK79021980-12-17800.00207499ALLENSALESMAN76981981-2-201600.00300.00307521WARDSALESMAN76981981-2-221250.00500.00307566JONESMANAGER78391981-4-22975.00207654MARTINSALESMAN76981981-9-281250.001400.00307698BLAKEMANAGER78391981-5-12850.00307782CLARKMANAGER78391981-6-92450.00107788SCOTTANALYST75661987-4-193000.00207839KINGPRESIDENT1981-11-175000.00107844TURNERSALESMAN76981981-9-81500.000.00307876ADAMSCLERK77881987-5-231100.00207900JAMESCLERK76981981-12-3950.00307902FORDANALYST75661981-12-33000.00207934MILLERCLERK77821982-1-231300.0010

(2)建表语句

创建部门表

create external table if not exists default.dept(deptno int,dname string,loc int)row format delimited fields terminated by '';

创建员工表

create external table if not exists default.emp(empno int,ename string,job string,mgr int,hiredate string, sal double, comm double,deptno int)row format delimited fields terminated by '';

(3)查看创建的表

hive (default)> show tables;OKtab_namedeptemp

(4)向外部表中导入数据

hive (default)> load data local inpath '/opt/module/datas/dept.txt' into table default.dept;hive (default)> load data local inpath '/opt/module/datas/emp.txt' into table default.emp;

查询结果

hive (default)> select * from emp;hive (default)> select * from dept;

创建项目

登录系统

创建工程

1)点击图上所示“+”号

2)填入项目名及描述点击Submit

选择数据源

1)选择加载数据源方式

2)输入要作为数据源的表

3)查看数据源

创建Model

1)回到Models页面

2)点击New按钮后点击New Model

3)填写Model名称及描述后Next

4)选择事实表

5)添加维度表

6)选择添加的维度表及join字段

7)选择维度信息

8)选择度量信息

9)添加分区信息及过滤条件之后“Save”

10)创建Model完成

创建Cube

1)点击New按钮然后选择New Cube

2)选择Model及填写Cube Name

3)添加维度

4)添加需要做预计算的内容

5)动态更新相关(默认)

6)高阶模块(默认)

7)需要修改的配置

8)Cube信息展示

9)Cube配置完成

10)触发预计算

11)查看Build进度

12)构建Cube完成

Hive和Kylin性能对比

需求:根据部门名称[dname]统计员工薪资总数[sum(sal)]

Hive查询

select dname,sum(sal) from emp e join dept d on e.deptno = d.deptno group by dname;

Time taken: 23.893 seconds, Fetched: 3 row(s)

Kylin查询

1)进入Insight页面

2)在New Query中输入查询语句并Submit

3)图表展示之条形图

4)图表展示之饼图

与kylin_什么是Kylin,Kylin的学习相关推荐

  1. 银河麒麟操作系统(kylin os)学习

    poweroff          # 关机命令 sudo su           # 进入超级用户 su username   # 切普通用户 Ctrl+Alt+t        # 打开终端te ...

  2. 解决Linux虚拟机无法打开,报无法打开虚拟机“Kylin” (D:\javaToil\linux\Kylin\Kylin.vmx): 虚拟机似乎正在使用中

    问题描述 今天在使用VM的时候,打开虚拟机报错了,说虚拟机似乎正在使用中 解决方案: 1.找到虚拟机文件夹,在上面的问题描述中的图有显示位置 2.找到带.lck结尾的文件夹改个名字,注意不是文件 3. ...

  3. Kyin学习笔记(一)-----Kylin安装、入门案例和原理介绍

    目录 一.Kylin简介 1.Kylin的诞生背景 2.Kylin的应用场景 3.为什么要使用Kylin 4.Kylin的总体架构 二.Kylin安装 1.依赖环境 2.集群规划 3.安装kylin- ...

  4. 大数据面试通关手册 | Kylin入门/原理/调优/OLAP解决方案和行业典型应用

    Kylin入门/原理/调优/OLAP解决方案和行业典型应用一网打尽. 一:背景历史和使命 背景和历史 现今,大数据行业发展得如火如荼,新技术层出不穷,整个生态欣欣向荣.作为大数据领域最重要的技术的 A ...

  5. Apache Kylin VS Apache Doris

    作者: 康凯森 日期: 2018-04-17 分类: OLAP 1 系统架构 1.1 What is Kylin 1.2 What is Doris 2 数据模型 2.1 Kylin的聚合模型 2.2 ...

  6. 第一个国产Apache 顶级项目 Kylin,了解一下!| 原力计划

    作者 | Alice菌 来源 | CSDN博客,责编 | 夕颜 出品 | CSDN(ID:CSDNnews) 说到Apache顶级开源项目,大家首先会想到什么??? 不熟悉Apache软件基金会的朋友 ...

  7. 大数据开发平台:数仓组件Apache Kylin详细安装暨使用教程

    前言: Kylin依赖于Hive和Hbase,所以必须保证Hive和Hbase能够正常使用. Hive安装教程[传送门] Hbase安装教程[传送门] 简介: Apache Kylin是一个开源的分布 ...

  8. Apache Kylin 和 Baidu Palo对比

    1 系统架构 1.1 What is Kylin 1.2 What is Palo 2 数据模型 2.1 Kylin的聚合模型 2.2 Palo的聚合模型 2.3 Kylin Cuboid VS Pa ...

  9. Apache Kylin VS Baidu Palo

    https://blog.bcmeng.com/post/apache-kylin-vs-baidu-palo.html 作者: 康凯森 日期: 2018-04-17 分类: OLAP 1 系统架构 ...

  10. CDH+Kylin三部曲之一:准备工作

    本文是<CDH+Kylin三部曲>的第一篇,整个系列由以下三篇组成: 准备工作:搭建CDH+Kylin环境前,将所有硬件.软件资源准备好 部署和设置:部署CDH和Kylin,再做相关设置 ...

最新文章

  1. 聊聊架构设计做些什么来谈如何成为架构师
  2. javascript基础07
  3. 服务器应用日志清理,Linux下Tomcat日志定期清理
  4. vue.js上传头像插件_一个基于vue2.0的头像上传组件
  5. JavaScript 面向对象编程(三) —— 函数进阶 / 严格模式 / 高阶函数 / 闭包 / 浅拷贝和深拷贝
  6. “这辈子不可能打工男子”出狱了,司法所将重点关注,网友:《今瓶没》今日上映!...
  7. KTween 补间引擎
  8. 计算机的组成 —— PCI(PCIE)、PCB
  9. 在mybatis里面设置不同数据库运行环境和适应性问题
  10. Python数据分析之pandas常用命令整理!
  11. 解决启用GTID binlog新安装完的MySQL提示无法登录
  12. 收藏 | 90+深度学习开源数据集整理:包括目标检测、工业缺陷、图像分割等多个方向(附下载)...
  13. IBM系统分析——领域建模
  14. 安卓手机网易云视频,下载的文件位置:
  15. netty报错Force-closing a channel whose registration task was not accepted by an event loop处理办法
  16. 详解MPO/MTP主干光纤跳线规格参数、MPO连接说明、MPO极性分类
  17. 文件排版1(C语言)
  18. spacemacs email layer
  19. ICM-42605 6轴MEMS加速度计陀螺仪运动传感器数据的读取
  20. python营销骗局_利用Python对天猫店铺销售进行分析.下

热门文章

  1. Java 8中新的并行API:Glitz和Glamour的背后
  2. 使用junit-drools进行JBoss Drools单元测试
  3. 使用Struts2,Hibernate和MySQL BLOB开发个人迷你相册应用程序–第1部分
  4. 单元测试Java Hadoop作业
  5. 发布Disruptor 3.0.0
  6. Cobertura和Maven:集成和单元测试的代码覆盖率
  7. 使用模拟的单元测试–测试技术5
  8. jdbc操作mysql数据库_JDBC操作MySQL数据库(一)
  9. Xenix 操作系统的简史
  10. HH SaaS电商系统管理后台的商品规格编辑