前言

自2011年下半年开始,我就一直关注Apache开源社区,侧重点放在大数据方面的成熟框架和产品。在这期间,陆续研究过Hadoop、Hive、HBase、Mahout、Kafka、Flume、Storm,以及近两年很火的Spark和Flink等,和很多从事大数据的朋友一样,经历过无数的夜晚,对着电脑屏幕逐行研究这些源代码,同时也看到无数的开源爱好者和技术专家加入Hadoop开源社区,贡献自己的力量,日复一日,乐此不疲。

谈起大数据,不得不提Hadoop,如今其早已发展成为了大数据处理的事实标准。Hadoop诞生于2005年,其受到Google的两篇论文(GFS和MapReduce)的启发。起初,Hadoop只是用来支撑Nutch搜索引擎的项目,从2006年开始,Hadoop脱离了Nutch,成为了Apache的顶级项目,无论是在学术界还是工业界都得到了迅猛的发展。

如今已是2016年了,Hadoop十周岁了,这十年期间围绕其核心组件(HDFS、MapReduce、Yarn)陆续出现了一批工具,用来丰富Hadoop生态圈,解决大数据各方面的问题,这其中就包括Apache Kylin。

ApacheKylin(麒麟)是由eBay研发并贡献给开源社区的Hadoop上的分布式大规模联机分析(OLAP)平台,它提供Hadoop之上的SQL查询接口及多维分析能力以支持大规模数据,能够处理TB乃至PB级别的分析任务,能够在亚秒级查询巨大的Hive表,并支持高并发。Apache Kylin于2014年10月开源,并于当年11月成为Apache孵化器项目,是eBay第一个贡献给Apache软件基金会的项目,也是第一个由中国团队完整贡献到Apache的项目,在这里对Apache Kylin的中国团队表示感谢,感谢贡献如此出色的大数据分析平台。

从去年开始接触Apache Kylin,我感觉很亲切,也很惊喜。当前研究的版本为0.7.1,也就是Kylin加入Apache孵化器项目后的第一个Apache发行版本,虽然当时的Kylin存在一些问题,但是其基于Hadoop设计的框架还是很有创意和特色的。经过一年多的发展,截至目前,Apache Kylin的版本已经发展到1.5.3,并且从1.5版本开始,Apache Kylin进行了重构,支持可扩展架构,支持更多的数据源、构建引擎和存储引擎,构建算法不断优化,支持与更多的可视化工具集成等。

如今,Apache Kylin已被应用在eBay、Exponential、京东、美团、明略数据、网易及其他公司。越来越多的大数据团队开始选择Apache Kylin作为公司大数据分析平台的组成部分,满足其海量数据的多维指标实时查询分析。通过很多社区的交流分享,我发现不少朋友对Apache Kylin没有一个整体的认识,在使用过程中出现各种各样的问题,打击自信心,他们急切希望能有一本全面介绍Apache Kylin的书籍。因为我经常在博客和社区分享Apache Kylin实战方面的一些经验,所以很多朋友鼓励我能够写一本比较全面介绍Apache Kylin的书籍,帮助更多的爱好者更好地加入Apache Kylin的社区,并在生产环境中进行实践。刚开始比较犹豫,毕竟写书需要花费大量的时间和精力,而且要对读者负责,容不得半点马虎。后来有社区的几个朋友给我打电话劝说,以及清华大学出版社的夏毓彦编辑一再鼓励,还有家人的支持,我就下定决心写这本书,目的只有一个,就是希望读者能够通过这本书,对Apache Kylin有一个完整的认识,掌握各方面的技能,并最终应用在自己公司的生产环境中。

本书内容

这是一本全面介绍Apache Kylin的书籍,包括环境搭建、案例实战演示、源码分析、Cube优化等,此外还会涉及数据仓库、数据模型、OLAP、数据立方体等方面的知识。通过本书系统性学习和实战操作,朋友们将能够达到基于Apache Kylin搭建企业级大数据分析平台,并熟练掌握使用Apache Kylin多维度地分析海量数据,最终通过可视化工具展示结果。

受众人群

本书适合从事Hadoop、HBase、Hive和Kylin等方面工作的人员参考阅读,最好能掌握一点OLAP、数据立方体等数据仓库方面的知识。但是我相信这本书也适合任何想从事大数据方面工作的程序员和架构师。

代码规范和下载

本书中会涉及大量的Linux Shell命令,这些命令都是在CentOS操作系统上执行成功的,对于其他的一些Linux系统也同样适用,如有不适用的,可以查阅资料,修改命令以符合对应的操作系统。

要下载本书章节中的样例代码,请到http://github.com/jiangshouzhuang下载。

读者服务

由于本人的写作能力有限,可能有些章节内容考虑并不全面,或者版本升级导致某些章节部分内容不是最新的。为了更好地为读者服务,我特意建立了一个QQ群:118152802,读者有关本书的任何问题,我都会及时给朋友们答复,谢谢支持。

致谢

这本书的面世,得到了很多朋友的鼎力相助,在这里感谢所有帮助我完成这本书的人。

感谢公司的同事们,特别感谢项同德和万文兵两位项目经理给予的支持和鼓励,感谢施健健给予的技术支持和帮助。

感谢CSDN和cnblogs博客中优秀的文章给予的技术支持。

感谢清华大学出版社所有为本书的出版和发行付出了辛勤劳动的人们。

最后,我要感谢我的家人,给予我的不懈支持。感谢父母帮我们照顾调皮捣蛋的宝宝;感谢妻子一如既往地照顾我的生活,给予我充足的时间用来写作。没有家人的支持和照顾,我是不可能完成这本书。

作者

2016年10月