Lemcoden

来自于大数据攻城狮的分享

为什么要使用Kylin

在使用一个框架之前我们都要问问自己为什么要使用这个框架,他要解决什么问题,这个框架在解决这方面问题有什么样的优势,Kylin也如此。
那么他是解决什么问题的呢?他是解决数据仓库工程的最后阶段,OLAP(联机分析处理)的查询慢的问题。
在实际的数据仓库项目中,我们需要在几亿甚至上百亿条的数据当中聚合查询我们所需要的信息,但是这对于批处理来说是非常缓慢的查询过程。但是kylin不同,它通过自己所独有的预计算功能,将原来查询所需的几个小时缩短为秒内返回。

使用kylin前的几个概念

维度:看待事物的角度,比如时间,地点,销售量,销售物品类别
度量:被聚合的统计值,也就是聚合运算的结果,它一般事连续的值。
Cube:数据魔方,我们传统的数据库的表字段在数据仓库的分析前,会先把字段转化为相应的维度和度量,维度和度量组成了整体的Cube
Cubeboid:我们通过维度和度量预先计算出所有查询的可能结果,每种可能结果的实体我们称之为Cuboid
星型模型:星型模型,雪花模型,事实星座模型主要是数据建模相关工作需要深度了解的知识,这里我简单举个例子,有兴趣的小伙伴可以自行查询。

kylin的工作过程

1.指定数据模型,定义维度和度量。(这个需要开发人员根据需求自己设置,博主会在后续的博客中说明)

2.预计算Cube,计算所有Cuboid并保存为物化视图。

这个我们举个例子,比如我们有一个电商的销售数据集,其中维度包括时间(Time),商品(Item),地点(Location)和供应商(Supplier),度量为销售额(GMV)那么所有的维度组合就有2^4=16种组合,其维度所构成的所有组合表如下
kylin_all_cuboid
上图每个原点代表一个cubiod,中括号的标识,表示这个cubiod所包含的查询维度
那么具体的内容是什么样的?
我们以Cuboid[Time,Location]为例,它所对应的SQL语句如下:
select Time,Location,Sum(GMV) as GMV from Sales group by Time, Location
根据以上SQL语句,我们不难想象出其查询的具体内容

3.执行查询时,读取Cuboid,运算,产生查询结果。

kylin的技术架构

和其他经典的大数据框架一样,我们先给出技术架构图
kylin技术架构
我们先看最左边,kylin以hive作为数据源,数据格式为星型模式的关系表形式(只支持星型模式,雪花模式可以自行转换),通过mapreduce作为计算框架来构建cube,构建完成后,保存cube的索引值到右侧的HBase当中,当用户有查询需求的时候,可以通过Kylin开放的RestApi,JDBC/ODBC接口。
PS:路由功能已弃用,数据源,构建引擎以及存储引擎可以替换,比如把hive替换为Kafka,Mapreduce替换为Spark,Hbase可以替换为Kudu等等。

Kylin的主要特点

SQL接口:对用户提供最简单的SQL接口,降低使用要求
支持超大数据集:理论上Kylin可以支撑的数据集大小没有上限,仅受限于存储系统的分布式计算系统的承载能力
压秒级查询:得益于Kylin的预计算,比如连接、聚合,在理想的预计算过程种就已经完成,这大大降低了查询实课所需要的计算量,提高了响应速度。
BI及可视化工具集成:ODBC接口,JDBC接口,Rest API,分析师可以沿用最熟悉的BI工具于Kylin一同工作。
查询速度:0(1)常数计划别的查询速度。也就是说查询速度并不是随数据量大小线性增长,而是不论数据量怎么增长,查询速度都不变。

起因

事情是这样子的,我很早之前注册的名为longzuzero的github账号,当时名字是随便想,用《龙族》小说名的汉语拼音加上英文的零,当时n年后,我准备开始写属于自己的技术博客时,才发现,这个名字没有任何意义,所以建立博客之初我把名字定义为
Lemcoden

Read more »

本篇博客分为三部分

  • github 账号注册,创建库,本地链接远程库
  • hexo 的安装,主题以及博文的部署
  • 域名的注册,设置转发
Read more »

介绍

Apache Kylin是Hadoop大数据平台上的一个开源OLAP引擎。它采用多维立方体预计算技术,可以将大数据的SQL查询速度提升到亚秒级别。相对于之前的分钟乃至小时级别的查询速度,亚秒级别速度是百倍到千倍的提升,该引擎为超大规模数据集上的交互式大数据分析打开了大门。
笔者作为一个大数据工程师,kylin这种查询速度极高的大数据OLAP引擎是必须需要学习掌握的,此文便是关于kylin的配置过程以及过程中遇到的一些问题,后续笔者可能会写多篇博客来阐述kylin开发遇到的问题以及如何解决。

Read more »

1.在个人博客文件夹的/source/_post目录里添加新的md文件,编写格式如下
编写格式

Read more »

安装配置

下载

1
2
wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.5/apache-hive-2.3.5-bin.tar.gz
Read more »

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

Read more »