Kylin(麒麟)是什么?我们听到过有麒麟芯片、麒麟OS等等,我们这个全名是叫Apache Kylin,是一个大数据分析的项目。
从名字上或许可以猜到,它来自中国,的确这也是我们想让世界知道的,有一群来自中国的工程师在向Hadoop贡献着这样一个独特的项目。
Apache Kylin 是在Hadoop之上的分布式的大数据分析引擎,它对外暴露的是标准SQL接口,支持TB到PB量级的数据,以秒级甚至亚秒级的时间返回响应。
2013年的时候,Kylin项目的创始人韩卿(Luke),授命带着工程师研究这个难题,经过不断的尝试和摸索,Kylin探索出了在Hadoop之上做预计算、做Cube这条路线,这是之前没有人尝试过的。
最终这个项目在2014年10月在Github开源 。一个月之后项目被Apache接受成为其一个孵化器项目。
2015年11月份,经过Apache软件基金会(ASF)的投票,Kylin正式毕业,称为其大数据领域的一个顶级项目。值得一提的是,2015年的9月,Kylin获得 了美国InfoWorld评选的最佳开源大数据工具奖,同时获奖的还有Spark、Storm、Kafka等知名项目。
2016年3月, 由Apache Kylin主要开发人员组成的公司Kyligence成立,致力于Kylin在业界的推广和使用。
任何一个项目的诞生都有一定的背景和原因。
今天我们看到越来越多的企业正在使用Hadoop,正在把Hadoop作为他们的基础平台来管理和分析数据。
但是,企业在使用Hadoop的时候,往往发现有一个很大的Gap:
一方面,现有的分析系统或分析工具,不能很好支持Hadoop; Hadoop上的数据的体量是远远超过传统单机或者传统关系型数据库的体量,原有的系统接入Hadoop根本无法承受这么大的数据量。
此外这些遗留系统当初设计的时候就不是一个分布式的架构,没办法水平地扩容。
另一方面,对于数据使用者或者分析师,让他们直接使用Hadoop,写MapReduce或者Spark的任务,是难以接受的。此外,Hadoop主要是用于做批量运算, 通常需要几十分钟,最快也要几分钟,对于分析人员来说很难有一个好的使用体验;等几分钟才能看到结果数据,大大影响了他们的工作效率。
这个问题当年就是在eBay内部就被提出来,为此专门成立了一个项目。
怎么样用Kylin来构建大数据的分析平台?
很简单。Kylin部署和安装是非常方便的,我们称为非侵入式的安装。如果你已经有一套Hadoop,安装Kylin,只要增加一台机器,下载Kylin安装包运行就可以了,Kylin使用标准Hadoop API跟各种组件通信,不需要对现有的Hadoop安装额外的agent。
Kylin非常适合于做读写分离,原因是Kylin的工作负载有两种:
前者是Cube的计算,它是批量的、延时很长的计算,有密集的CPU和IO;
后者是在线的计算,是只读的,因为面向用户,它要求低延迟。Cube计算的过程会对集群带来很大的负载,从而产生噪音;所以我们有充足的理由进行读写分析。
Kylin很容易做到这一点,你可以把HBase单独部署成一个集群,在部署Kylin的节点上,hadoop 配置指向运算的集群,Hbase的配置指向HBase集群。通过这样的部署,可以确保Hbase的查询可以在很短时间完成,而计算集群可以跟公司其它部门分享。
现在目前Kylin使用中估计99%的情况是前面三种部署。还有一种更高级的部署是Staging和Prod多环境的部署。
Cube是怎么计算出来的?
这是在1.5之前版本中的的算法,也叫逐层算法。它会启动N+1轮MapReduce计算。
第一轮读取原始数据,去掉不相关的列,只保留相关的。同时对维度列进行压缩编码;以此处的四维Cube为例,经过第一轮计算出ABCD组合,我们也称为Base Cuboid;
此后的每一轮MapReduce,输入是上一轮的输出,以重用之前计算的结果,去掉要聚合的维度,算出新的Cuboid。以此往上,直到最后算出所有的Cuboid。
首先,毋庸置疑, Kylin对外暴露的是标准的SQL,支持大多数的SELECT语法,可以把各种工具和系统直接对接进来。这意味着当您使用Kylin的时候,不需要对业务系统做额外的改动。
第二,Kylin提供了各种接入方式, 如ODBC、JDBC; 如果您的系统不使用这两种方式,还可以使用RESTful API查询。
Kylin架构天生就非常适合Scale out,当查询量上升,单节点不能满足的时候,只需要相应增加Kylin的节点就可以满足。
针对企业对安全的要求,我们有不同力度做安全控制。Kylin有不同用户角色做不同的事情,此外在project和cube层级可以定义ACL帮助在更细力度掌控对cube的使用。
企业通常会使用目录服务来管理用户和群组,Kylin支持LDAP认证登录;如果对安全有更高的要求,Kylin还支持了基于SAML的单点登录(SingleSign-On),只要做一些配置就可以完成,不需要额外开发。
Kylin提供了丰富的RESTful API,非常方便从用各种已有系统,如任务调度,监控等接入Kylin。Kylin的Web UI做到的事情通过API都可以做到。我们看到网易、美团等在Kylin之上开做了封装,跟他们各自的BI做深度的融合,就是利用了这个特性。

Java job interview:项目架构研发使用Apache Kylin搭建企业级开源大数据分析平台相关推荐

  1. 【转】使用Apache Kylin搭建企业级开源大数据分析平台

    http://www.thebigdata.cn/JieJueFangAn/30143.html 本篇文章整理自史少锋4月23日在『1024大数据技术峰会』上的分享实录:使用Apache Kylin搭 ...

  2. Java job interview:项目架构研发京东大数据价值最大化的应用实践

    "大数据"的经典定义是可以归纳为4个V:海量的数据规模(volume).快速的数据流转和动态的数据体系(velocity).多样的数据类型(variety)和巨大的数据价值(val ...

  3. 微服务架构推动精益数字化管理体系建设,构建大数据分析平台

    某研究院使用多个独立的,不同架构的系统,对产能.产线.业务协同等业务进行管理.在十四五期间,由于数据量急剧增加,现有的数据管理工具难以对大数据量的平台进行统一.精细化管理,需要对不同系统的数据.权限. ...

  4. Java job interview:项目架构Java车联网行业的云端架构实现

    中国互联网技术联盟发布的"互联网+"技术体系中有指出,云是互联网+转型的技术重点,大数据的价值要通过云来实现最大化,它包括云存储.云计算.云运维.云安全等多种形式.本文是元征科技信 ...

  5. 涵盖从java入门到深入架构,Linux、云计算、分布式、大数据Hadoop、ios、Android、互联网技术应有尽有

    [涵盖从java入门到深入架构,Linux.云计算.分布式.大数据Hadoop.ios.Android.互联网技术应有尽有] 1.javascript视频教程 链接: http://pan.baidu ...

  6. 电商大数据分析平台项目(一)项目框架

    一.项目简介 这段时间自己从网上找了一个项目课程,学着做了一个电商大数据分析平台,不过较为简陋,知识作学习用. 项目环境:windows10+hadoop2.7.7+hbase2.1.0+flume1 ...

  7. ClickHouse数据库培训实战 (PB级大数据分析平台、大规模分布式集群架构)

    一.ClickHouse数据库培训实战课程 (PB级大数据分析平台.大规模分布式集群架构)视频教程 为满足想学习和掌握ClickHouse大数据分析专用的数据库,风哥特别设计的一套比较系统的Click ...

  8. 大数据分析平台技术架构建设方案PPT(附下载)

    面对海量的各种来源的数据,如何对这些零散的数据进行有效的分析,得到有价值的信息一直是大数据领域研究的热点问题. 大数据分析处理平台就是整合当前主流的各种具有不同侧重点的大数据处理分析框架和工具,实现对 ...

  9. 知行教育大数据分析平台之基于Spark架构

    1 介绍一下你们的项目 教育数仓解决的问题: 首先,受互联网+概念影响,越来越多的教育平台机构涌现,在线教育发展火热.但是由于信息的共享利用不充分,导致企业多年积累了大量数据,而因为信息孤岛的问题,一 ...

最新文章

  1. 使用Nucleus SE实时操作系统
  2. 使用Jmeter至WebService压力测试
  3. Node.js 极简入门Helloworld版服务器例子
  4. Stereo matching code
  5. python tkinter 弹窗_tkinter主窗口和子窗口同时弹出该怎么办?
  6. 简单实现分行输出的javascript代码
  7. java swing 等待框_java – 让用户使用Swing等待
  8. python实现天气预报_python实现智能语音天气预报
  9. box-shadow属性四个值_flex笔记1——flex-direction属性
  10. Q学习和深度Q学习(DQN)论文笔记
  11. 并查集算法题-We Are A Team-python实现
  12. 如何批量压缩pdf文件大小?
  13. 阿里云 mysql 导出数据_mysql数据库导出数据库
  14. 二十款漂亮CSS字体样式
  15. 免费简历,ppt模板
  16. 基于Node.js的3DTiles三维倾斜摄影模型爬虫
  17. Cesium 拾取 API 完全总结
  18. 【软件测试】瓶颈?资深测试聊测试开发的瓶颈在哪?
  19. JAVA对接支付宝,实现支付功能
  20. 【技术白皮书】第二章:OCR智能文字识别回顾——自然语言文本发展历程

热门文章

  1. 工业相机与镜头的选配
  2. 北京点击科技有限公司董事长兼总裁——王志东经典语录5
  3. Java小程序之记事本
  4. 静态路由的配置 拓扑的搭建
  5. 使用html2Canvas、JsPDF分页打印(分享)
  6. 中南民族大学计算机考研资料汇总
  7. 关于一个大一学生的俄罗斯方块项目分享C#开发,附源码(一)
  8. 基于单片机的智能照明系统
  9. Ros 安装过程(ubuntu18)
  10. C++ 软件设计思想