基于Apache Kylin构建大数据分析平台
书籍作者:蒋守壮 |
ISBN:9787302454526 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:8776 |
创建日期:2021-02-14 |
发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay公司开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。
本书分为21章,详细讲解Apache Kylin概念、安装、配置、部署,让读者对Apache Kylin构建大数据分析平台有一个感性认识。同时,本书从应用角度,结合Dome和实例介绍了用于多维分析的Cube算法的创建、配置与优化。最后还介绍了Kyligence公司发布KAP大数据分析平台,对读者有极大的参考价值。
本书适合大数据技术初学者、大数据分析人员、大数据架构师等,也适合用于高等院校和培训学校相关专业师生教学参考。
编辑推荐
作者建立QQ群,免费为读者解决本书的任何问题。Kyligence 联合创始人兼CEO,Apache Kylin项目管理委员会主席(PMC Chair),韩卿;武汉市云升科技发展有限公司董事长,杨正洪;万达网络科技集团大数据中心副总经理,《Spark高级数据分析》中文版译者,龚少成等等业内专家联合推荐。
本书全面介绍Apache Kylin的书籍,包括环境搭建、案例实战演示、源码分析、Cube优化等,此外还会涉及数据仓库、数据模型、OLAP、数据立方体等方面的知识。通过本书系统性学习和实战操作,朋友们将能够达到基于Apache Kylin搭建企业级大数据分析平台,并熟练掌握使用Apache Kylin多维度地分析海量数据,最终通过可视化工具展示结果。
前言
自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系统也同样适用,如有不适用的,可以查阅资料,修改命令以符合对应的操作系统。
要下载本书章节中的样例代码,请下载。
读者服务
由于本人的写作能力有限,可能有些章节内容考虑并不全面,或者版本升级导致某些章节部分内容不是最新的。为了更好地为读者服务,我特意建立了一个QQ群,读者有关本书的任何问题,我都会及时给朋友们答复,谢谢支持。
致谢
这本书的面世,得到了很多朋友的鼎力相助,在这里感谢所有帮助我完成这本书的人。
感谢公司的同事们,特别感谢项同德和万文兵两位项目经理给予的支持和鼓励,感谢施健健给予的技术支持和帮助。
感谢CSDN和cnblogs博客中优秀的文章给予的技术支持。
感谢清华大学出版社所有为本书的出版和发行付出了辛勤劳动的人们。
最后,我要感谢我的家人,给予我的不懈支持。感谢父母帮我们照顾调皮捣蛋的宝宝;感谢妻子一如既往地照顾我的生活,给予我充足的时间用来写作。没有家人的支持和照顾,我是不可能完成这本书。
作者
2016年10月
目录
第一部分 Apache Kylin基础部分
第1章 Apache Kylin前世今生 3
1.1 Apache Kylin的背景 3
1.2 Apache Kylin的应用场景 3
1.3 Apache Kylin的发展历程 4
第2章 Apache Kylin前奏 7
2.1 事实表和维表 7
2.2 星型模型和雪花型模型 7
2.2.1 星型模型 7
2.2.2 雪花型模型 8
2.2.3 星型模型示例 8
2.3 OLAP 9
2.3.1 OLAP分类 9
2.3.2 OLAP的基本操作 10
2.4 数据立方体(Data Cube) 11
第3章 Apache Kylin 工作原理和体系架构 12
3.1 Kylin工作原理 12
3.2 Kylin体系架构 13
3.3 Kylin中的核心部分:Cube构建 15
3.4 Kylin的SQL查询 16
3.5 Kylin的特性和生态圈 16
第4章 搭建CDH大数据平台 18
4.1 系统环境和安装包 19
4.1.1 系统环境 19
4.1.2 安装包的下载 20
4.2 准备工作:系统环境搭建 21
4.2.1 网络配置(CDH集群所有节点) 21
4.2.2 打通SSH,设置ssh无密码登录(所有节点) 21
4.3 正式安装CDH:准备工作 29
4.4 正式安装CDH5:安装配置 30
4.4.1 CDH5的安装配置 30
4.4.2 对Hive、HBase执行简单操作 39
第5章 使用Kylin构建企业大数据分析平台的4种部署方式 41
5.1 Kylin部署的架构 41
5.2 Kylin的四种典型部署方式 42
第6章 单独为Kylin部署HBase集群 44
第7章 部署Kylin集群环境 58
7.1 部署Kylin的先决条件 58
7.2 部署Kylin集群环境 61
7.3 为Kylin集群搭建负载均衡器 70
7.3.1 搭建Nginx环境 70
7.3.2 配置Nginx实现Kylin的负载均衡 73
第二部分 Apache Kylin 进阶部分
第8章 Demo案例实战 77
8.1 Sample Cube案例描述 77
8.2 Sample Cube案例实战 78
8.2.1 准备数据 78
8.2.2 构建Cube 81
第9章 多维分析的Cube创建实战 89
9.1 Cube模型 89
9.2 创建Cube的流程 90
9.2.1 步骤一:Hive中事实表,以及多张维表的处理 90
9.2.2 步骤二:Kylin中建立项目(Project) 95
9.2.3 步骤三:Kylin中建立数据源(Data Source) 95
9.2.4 步骤四:Kylin中建立数据模型(Model) 98
9.2.5 步骤五:Kylin中建立Cube 104
9.2.6 步骤六:Build Cube 114
9.2.7 步骤七:查询Cube 118
第10章 Build Cube的来龙去脉 120
10.1 流程分析 120
10.2 小结 134
第三部分 Apache Kylin 高级部分
第11章 Cube优化 137
第12章 备份Kylin的Metadata 142
12.1 Kylin的元数据 142
12.2 备份元数据 143
12.3 恢复元数据 146
第13章 使用Hive视图 147
13.1 使用Hive视图 147
13.2 使用视图实战 149
第14章 Kylin的垃圾清理 153
14.1 清理元数据 153
14.2 清理存储器数据 154
第15章 JDBC访问方式 157
第16章 通过RESTful访问Kylin 161
第17章 Kylin版本之间升级 179
17.1 从1.5.2升级到最新版本1.5.3 179
17.2 从1.5.1升级到1.5.2版本 180
17.3 从Kylin 1.5.2.1升级到Kylin 1.5.3实战 181
17.4 补充内容 187
第18章 大数据可视化实践 189
18.1 可视化工具简述 189
18.2 安装Kylin ODBC驱动 190
18.3 通过Excel访问Kylin 192
18.4 通过Power BI访问Kylin 194
18.4.1 安装配置Power BI 194
18.4.2 实战操作 198
18.5 通过Tableau访问Kylin 199
18.6 Kylin + Mondrian + Saiku 205
18.7 实战演练:通过Saiku访问Kylin 211
18.7.1 第一个Schema例子:myproject_pvuv_cube的演示 211
18.7.2 第二个Schema例子:kylin_sales_cube的演示 219
18.7.3 Saiku使用的一些问题 223
18.8 通过Apache Zepplin访问Kylin 229
18.9 通过Kylin的“Insight”查询 232
第19章 使用Streaming Table 构建准实时Cube 236
第20章 快速数据立方算法 251
20.1 快速数据立方算法概述 251
20.2 快速数据立方算法优点和缺点 253
20.3 获取Fast Cubing算法的优势 254
第四部分 Apache Kylin的扩展部分
第21章 大数据智能分析平台KAP 257
21.1 大数据智能分析平台KAP概述 257
21.2 KAP的安装部署 259