与kylin_什么是Kylin,Kylin的学习

概述

Kylin定义

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

Kylin架构

df52b4941c70eabf4230476aeeb2977d.png

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页面

22bb872ba93d21293e88f02021ba53df.png

用户名为: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;

创建项目

登录系统

b9fbffec08179ba1b4e0f68fcf31b82c.png

创建工程

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

b0c1980b18dc314fe076e4be10a25bb1.png

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

1d53d3ebf91b63cc6a009141eaf23bd6.png

选择数据源

1)选择加载数据源方式

05eeefa00a6a2d50a9be01bd8a44e1f3.png

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

01477d7a5154ccbf7f637e39619c7cd4.png

3)查看数据源

a0dfeb49e21f7978007865764cbc0298.png

创建Model

1)回到Models页面

2c0f3e676c6468272480a8babcf450a7.png

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

70a911a263a548e172ac101006792e05.png

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

2ca92e329aef2ca3ce4265206805cbed.png

4)选择事实表

229fe5147e117ac79605acf51f63474e.png

5)添加维度表

fba5dbe884775a2c6c625f611ee9030e.png

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

340c9e792c7744fe3a1e12191d0bbb6e.png
69fc4828161d21b1aceba9c75a2e9a68.png

7)选择维度信息

19ba15ef3f852342b6656d9258c36ef7.png

8)选择度量信息

ba52d92023be62f788621c91b864b79b.png

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

19ad37146aed83b4062f3de857d0472a.png

10)创建Model完成

efb98683521d1da1c7fd210a6354f661.png

创建Cube

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

037bc3e0dfae28ecf6e1a231ae18044f.png

2)选择Model及填写Cube Name

8dab8b7b19c3e8ceb8f042394d8e4a91.png

3)添加维度

9e0fb7a7b381b9f5950a11083f0dcc6d.png
3eb710fb60ca7e372a0cd6741b4f5874.png

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

5dd5307bf0c7871a86509f891c06cfd5.png
4dfcef9161ab22b04f0ba951c7873919.png

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

f09564d57622879b481073dc05d07c65.png

6)高阶模块(默认)

b8400dcf0c3629474ba1616a355fa799.png

7)需要修改的配置

99b2e4bf0a57303f21476cda2f20611b.png

8)Cube信息展示

e6fd142fb2c4cf3ca16a957367657f34.png

9)Cube配置完成

a816fc4bc3e6d2b6dbe0c51f59fadfef.png

10)触发预计算

9f83a1c3e9d66bb0c67d7dd5f55a0fc5.png

11)查看Build进度

8adc1c0111507f1b24f7061ae79f9b9c.png

12)构建Cube完成

4d8ba4ca37a9599e6c9b2d011eb5f099.png

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页面

5fca4fad8dc1a9112644165e0304424b.png

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

00eef00e1b04aa8155c718ff26102180.png

3)图表展示之条形图

c09b5bfdb7794b687f376b9ef55d397c.png

4)图表展示之饼图

b680d949c19ca6918c3085a9ed184e88.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344092.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业轨式 1-16路 4-20MA 模拟量光端机产品介绍

产品描述 本系列设备采用大规模FPGA设计,采用独创技术,可同时支持 1~8 通道模拟量信号(电流/电压)到光纤中继,每组模拟量有24V供电输出VO脚,方便给传感器等设备供电。该设备采用双电源供电,高性…

采购光纤收发器时应该注意哪些事项?

目前市场上国外和国内生产光纤收发器的厂商很多,产品线也极为丰富,光纤收发器的种类也不一,主要分为机架式光收发器、台式光收发器和卡式光收发器。在实际的采购中,企业考虑的一个重要的因素是价格。当然,除价格外同时…

scala集合转java_Java,Scala,Guava和Trove集合-它们可以容纳多少数据?

scala集合转java关于我们的数据结构的一个有趣的事情是,即使我们非常熟悉它们,但对于我们来说,仍然很难说出像HashMap这样基本的东西在1GB的内存中可以容纳多少个项目。 我们可能会在学校,高级开发人员那里学到这一点,…

单模单纤的光纤收发器A、B端的位置可以互换吗?

单纤光纤收发器:接收发送的数据在一根光纤上传输顾名思义,单纤设备可以节省一半的光纤,即在一根光纤上实现数据的接收和发送,在光纤资源紧张的地方十分适用。那么,单模单纤的光纤收发器A、B端的位置可以互换吗&#xf…

最常见的SQL报错注入函数(floor、updatexml、extractvalue)及payload总结

SQL报错注入是一种常见的SQL注入攻击方式,攻击者通过注入恶意代码,触发数据库的错误响应,并从错误信息中获取有用的信息。 下面介绍最常见的三个报错注入函数用法及payload总结: 1、floor() 使用floor报错注入,需要…

光电转换器与光纤收发器有哪些区别?

说到光电转换器,我们都知道光电转换器是一种类似于基带MODEM(数字调制解调器)的设备,和基带MODEM不同的是接入的是光纤专线,是光信号,分为全双工流控,半双工背压控制。那么,光电转换…

如何查看spark消耗的内存_Spark优化(三)----数据本地化及内存调优

1. 数据本地化的级别:1.PROCESS_LOCAL2.NODE_LOCAL3.NO_PREF4.RACK_LOCAL5.ANY1) PROCESS_LOCALtask要计算的数据在本进程(Executor)的内存中。2) NODE_LOCAL① task所计算的数据在本节点所在的磁盘上。② task所计算的数据在本节点其他Execu…

光收发器安装介绍,光纤收发器连接示意图解

对于光纤布线来讲光纤收发器都是非常熟悉的产品了,在光纤网络中,我们常常会使用到光纤收发器,那么,在网络布线过程中光纤收发器该怎么连接呢?接下来飞畅科技的小编就来为大家介绍下光纤收发器安装以及连接图解&#xf…

mysql 分库分表_大众点评订单系统分库分表实践

原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护…

多模光纤收发器购买时需要注意什么问题?

光纤收发器是光通讯产品的一类,它一般应用在以太网电缆无法覆盖、必须使用光纤来延长传输距离的实际网络环境中,同时在帮助把光纤最后一公里线路连接到城域网和更外层的网络上也发挥了巨大的作用。现如今,随着光通信产业的高速发展&#xff0…

cd mysql 权限不够_.bash_profile权限不够_cdmysql权限不够

mac环境下创建bash_profile文件并写入内容_IO690x477 - 118KB - JPEGmac下创建bash_profile的问题? - Mac - 知乎585x366 - 22KB - PNG如何设置bash profile格式599x366 - 38KB - JPEG如何设置bash profile格式599x366 - 38KB - JPEG.bash_profile .bashrc profile文件的作用的…

POE交换机产品如何设计防雷保护?

在POE供电系统实际应用中,有很多受电设备AP或移动基站的基站AP与天线,经常要安装于建筑物的高端点,因此这些受电设备也成为遭受雷击的高发点。所以,对于这类的数据网络中心,不仅要考虑建设良好的直击雷防护网与良好的接…

lucene 多个分词查找_使用Lucene的新FreeTextSuggester查找长尾建议

lucene 多个分词查找Lucene的“ 建议”模块提供了许多有趣的自动建议实现,以便在用户将每个字符输入搜索框时为他们提供实时搜索建议。 例如, WFSTCompletionLookup将所有建议及其权重编译到一个紧凑的有限状态传感器中 ,从而可以对基本建议…

32linux下安装mysql5.7_Linux系统下以RPM方式安装mysql-5.7.9

1在开始安装之前,我们先来一小段官方文档,看下图。图中英文翻译过来就是:从MySQL5.7.4起,以RPM包的方式安装后的MySQL的部署默认是安全的,并且有这些特点:在大多数情况下,你只需要安装MySQL-ser…

PoE交换机的4种连接方法

POE也被称为基于局域网的供电系统或有源以太网,有时也被简称为以太网供电,一个完整的POE系统包括供电端设备和受电端设备两部分。可能会有一些朋友对poe供电有一些疑问,这个在之前也有很多朋友问到过,那么,今天就由飞畅…

带有NetBeans 10的Java EE

Apache NetBeans项目正在逐步形成。 10.0版于2018年12月27日发布。 下载版中列出了自9.0版以来添加的主要功能。 对我个人而言,最重要的功能是JDK 11支持。 那么,Java EE呢? 在将所有NetBeans源从Oracle转移到Apache并合并到Apache NetBean…

POE交换机供电原理及工作过程

POE指的是在现有的以太网Cat.5布线基础架构不作任何改动的情况下,在为一些基于IP的终端(如IP电话机、无线局域网接入点AP、网络摄像机等)传输数据信号的同时,还能为此类设备提供直流电的技术.就是支持以太网供电的交换机。那么&am…

PoE交换机可以当普通交换机使用吗?

PoE交换机是一种新型的多功能交换机,随着PoE交换机的广泛应用,人们对PoE交换机有了一定的了解。然而,很多人认为PoE交换机可以自行发电,这种说法并不正确,通常所讲的PoE交换机供电指的是PoE交换机通过网线来给其他设备…

光纤收发器和光电转换器有什么区别?

光纤收发器,是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元,在很多地方也被称之为光电转换器(Fiber Converter)。那么,光纤收发器和光电转换器有区别吗?接下来就由飞畅科技…

mysql innodb redolog_Mysql的binlog 和InnoDB的redo-log

mysql日志系统之redo log和bin log12018.12.02 01:35:06字数 997阅读 3,248首先,我们先来看看一次查询/更新语句流程图mysql查询/更新流程图.png本文会将重点放在执行器存储引擎之间的交互。mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果…