猜你喜欢
Apache Kylin权威指南(第2版)

Apache Kylin权威指南(第2版)

书籍作者:Apache ISBN:9787111633297
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:6929
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

Apache Kylin 是由中国人主导的Apache项目,是Hadoop大数据平台上的一个开源 OLAP 引擎,将大数据的查询速度和并发性能提升百倍以上,为超大规模数据集上的交互式大数据分析打开了大门。本书由 Apache Kylin 核心开发团队编写,系统地介绍了 Apache Kylin 安装、入门、调优、可视化、运维管理、流式计算、Spark 构建、扩展开发、跟主流云平台的集成,以及经典案例等各个方面,是系统学习Apache Kylin的优秀材料。

第1章和第2章是基本概念和快速入门,为初学者打下坚实基础。第3章和第4章介绍基本的 Cube 优化手段和增量构建。第5章展示丰富的查询接口和其上的可视化能力。第6章介绍了基于 Cube Planner 的自动优化的核心算法和原理。第7章是进阶的流式准实时构建,以将构建的批次间隔缩短到分钟级。第8章介绍如何使用 Spark 进行 Cube 构建,以及如何调优性能。第9章通过介绍若干 Kylin 的重点案例,以帮助读者理解 Kylin 的使用场景和重要价值。第10章介绍可扩展架构和二次开发接口,适合高级开发者。第11章则介绍企业级功能、用户的认证和授权相关知识。第12章着重于问题的排查诊断、日常的运维管理,以及如何通过社区获得帮助等内容。第13章分别以AWS,微软 Azure 和阿里云为例,介绍如何在主流云平台上部署和使用 Kylin。第14章说明如何参与和贡献到开源项目。最后的第15章,介绍了 Apache Kylin 的未来发展方向。

作者简介

本书在2016年一稿撰写的时候,Kylin核心团队刚刚加入新成立的Kyligence 公司,一切从头开始,当时把写书当作了头等大事,整个六人团队都参与了其中:韩卿、李栋、李扬、马洪宾、史少锋、仲俭,署名“Apache Kylin 核心团队”。三年后,Kyligence 已经发展到一百多人;在更新第二版的时候,更多年轻小伙伴加入了进来,包括新Kylin Committer/contributor 陈志雄、龙超、翟娜、孙宇婕;BI 专家:何京珂、汤雪;解决方案专家冯礼、李森辉、宗正;技术支持工程师周丁倩,以及市场部美女编辑符云霞等;此外还有许多同事参与了书稿的审阅。他们都义务将自己的业余时间贡献出来,历时数月完成书稿的更新、修正和校对。


——史少锋,Kyligence 首席架构师,Apache Kylin committer & PMC Chair


编辑推荐
适读人群 :1、各行业的数据分析师、数据挖掘师、BI、数据仓库相关技术人员;2、各行业的运营人员,运营专家;3、各行业的各级管理者,高层管理者,数据化运营战略的制订者,推动者。

1.本书内容紧扣热点: Apache Kylin是大数据时代的宠儿,是业界目前实现了秒级别交互式大数据分析的开源技术,数仓OLAP霸主。

2. 内容全面,广度和深度兼顾。不仅是国内关于Apache Kylin 的全面技术书,还融入了对于新特性和功能的讲解。

3. 作者是Apache Kylin的创始团队。

4. 实战性强。本书从入门开始,深入浅出,包含众多实际大数据分析案例,让技术落地解决实际问题。

前言

“麒麟出没,必有祥瑞。”
—中国古谚语
“与Apache Kylin团队一起合作使Kylin孵化成为顶级项目对我而言非常激动人心,Kylin在技术方面当然是振奋人心的,但同样令人兴奋的是Kylin 代表了亚洲国家,特别是中国,在开源社区中越来越高的参与度。”
—Ted Dunning Apache 孵化项目副总裁,MapR 首席应用架构师
今天,随着移动互联网、物联网、AI等各种技术的快速兴起,数据成了所有这些技术背后最重要,也是最有价值的“资产”。如何从数据中获得有价值的信息呢?这个问题驱动了相关技术的发展,从最初的基于文件的检索、分析程序,到数据仓库理念的诞生,再到基于数据库的商业智能分析。而现在,我们关注的问题已经变成如何从海量的超大规模数据中快速获取有价值的信息。在新的时代,面对新的挑战,新的技术必然会应运而生。
在数据分析领域,大部分的技术都诞生在国外,特别是美国,从最初的数据库,到Hadoop为首的大数据技术,再到今天各种深度学习、AI等。但我国却又拥有世界上独一无二的“大”数据—最多的人口、最多的移动设备、最活跃的应用市场、最复杂的网络环境……面对这些挑战,我们需要有自己的核心技术,特别是在基础领域的突破和研发。今天,以Apache Kylin为首的各种来自中国的先进技术不断涌现,甚至在很多方面都大大超越了来自国外的其他技术,彰显了中国的技术实力。
自Hadoop选取大象图标伊始,上百个项目,以动物居之者为多。而其中唯有Apache Kylin(麒麟)来自中国,在众多项目中分外突出。在全球最大的开源基金会—Apache 软件基金会(Apache Software Foundation,ASF)的160多个顶级项目中,Apache Kylin是唯一一个来自中国的Apache顶级开源项目,与Apache Hadoop、Apache Spark、Apache Kafka、Apache Tomcat、Apache Struts、Apache Maven等顶级项目一起以“The Apache Way”构建开源大数据领域的国际社区,发展新技术并拓展生态系统。
大数据与传统技术的最大区别就在于数据的体量给查询带来的巨大挑战。从最早使用大数据技术来做批量处理,到现在越来越多的人要求大数据平台也能够如传统数据仓库技术一样支持交互式分析,随着数据量的不断膨胀、数据平民化的不断推进,低延迟、高并发地在Hadoop之上提供标准SQL查询能力成为必须攻破的技术难题。而Apache Kylin的诞生正是基于这个背景,并成功地完成了很多人认为不可能实现的突破。Apache Kylin最初诞生于eBay中国研发中心,该中心坐落于上海浦东新区。2013年9月底该研发中心开始进行POC测试并组建团队,经过一年的艰苦开发和测试,Apache Kylin于2014年9月30日正式上线,并在第二天,2014年10月1日,正式开源。
在这个过程中,面对使用何种技术、如何设计架构、如何突破那些看似无法完成的挑战等一系列技术难关,整个开发团队和用户一起经历了一个艰难的过程。今天呈现的Apache Kylin已经经历了上千亿甚至上万亿规模数据量的分析请求及上百家公司在实际生产环境中的检验,成为各个公司大数据分析平台不可替代的重要组成部分。本书将从Apache Kylin的架构和设计、各个模块的使用、与第三方的整合、二次开发以及开源实践等多个方面进行讲解,为读者呈现Apache Kylin最核心的设计理念和哲学、算法和技术等。
Apache Kylin社区的发展来之不易,自2014年10月开源至今已经有近五年的时间,从最初的几个研发人员发展到今天几十个贡献者、国内外上百家公司正式使用、连续两年获得InfoWorld Bossie Awards最佳开源大数据工具奖。来自Apache Kylin核心团队、贡献者、用户、导师、基金会等的帮助和无私奉献铸就了今天Apache Kylin活跃的社区,也使得此项技术得以在越来越多的场景下发挥作用。现在,由Apache Kylin核心团队撰写的本书即将出版,相信能更好地将相关的理论、设计、技术、架构等展现给各位朋友,希望能够让更多的朋友更加充分地理解Kylin的优势和适用的场景,更多地挖掘出Kylin的潜力。同时希望本书能够鼓励并吸引更多的人参与到Kylin项目和开源项目中,能够影响更多的人贡献更多的项目和技术到开源世界中。
此次《Apache Kylin 权威指南》的再版工作,得到了Kyligence研发团队的大力支持,他们纷纷自愿参与,本书大部分内容的写作是利用节假日和休息时间完成的,每位参与者都将自己在工作中获得的最佳实践经验总结到了这本书中,他们分别是:史少锋、陈志雄、冯礼、翟娜、汤雪、赵勇杰、周浥尘、龙超、宗正、孙宇婕、周丁倩、李森辉等。在此对他们表示诚挚的感谢!

韩卿
Apache Kylin联合创建者及项目委员会主席
2019年5月



推荐序

大概三年前,我在探索融合大数据平台演进路线的时候,接触到Apache Kylin这个开源大数据分析产品,并认识了几位Kylin核心团队的工程师。作为在企业级数据领域工作了10多年的“老兵”,在完成POC测试并拜读了《Apache Kylin权威指南》(第1版)之后,我特别感动于这本书所映射出来的精神。在互联网金融极速燃烧的年代,居然有这么一群人坚守企业级数据分析阵地,致力于拯救陷入数据泥潭的劳苦大众。这种精神一定来源于Kylin的初衷—Unleash Big Data Productivity,我个人非常认同,并愿意共同传播Kylin的这种精神。

2018年9月12日,我和Apache Kylin社区管理委员会(PMC)主席韩卿(Luke Han)相约,在纽约Strata AI大会上分享了对智能数据仓库未来的畅想。这次和国外数据界的交流碰撞,让我意识到,我们不但要设想未来在哪里,更要帮助期望数据分析生态落地的企业找到一条能够从数据仓库升级到数据湖再进化到智能数据平台的路。当然,我们也知道,要让路好走,铺路的人要付出更多的艰辛努力。

在这之后,Luke时常与我讨论,如何应对企业级数据市场的各种艰辛。后来有一天,Luke邀请我为《Apache Kylin权威指南》(第2版)写推荐序,我便毫不犹豫地答应了。因为我知道这本书的升级,不只是技术的升级,更是技术背后的理念愿景和能力的升级。关于此书,我想告诉大家的是,读完第1章,我们将了解设计数据仓库解决方案的初衷,从而有意愿从Kylin开始新的探索;读完第2~13章,通过应用第一原理,我们将有机会改变一个企业级数据分析生态;读完第14章和第15章,如果还有机会在企业内部进行实践的话,我们将有可能改变一个企业乃至一个行业。当然,对于本书,我们也不必循规蹈矩地按顺序读下来,可以按照自己的需要选择内容阅读。

面对未来竞争的每一个企业,表面上拼的是业务场景下对科技的理解和综合应用。实际上,最终比拼的还是人对业务场景和科技综合应用的驾驭能力。最后,我衷心希望,读者通过阅读本书能够获得驾驭企业级大数据的能力,成为企业所需要的技术人才,而本书的作者也会因为读者的成功而获得更大的成功。

朱志

建信金融科技 架构技术总监


目录

推荐序

前 言

第1章 Apache Kylin概述 1

1.1 背景和历史 1

1.2 Apache Kylin的使命 3

1.3 Apache Kylin的工作原理 5

1.4 Apache Kylin的技术架构 7

1.5 Apache Kylin的主要特点 9

1.5.1 标准SQL接口 9

1.5.2 支持超大数据集 10

1.5.3 亚秒级响应 10

1.5.4 可伸缩性和高吞吐率 10

1.5.5 BI及可视化工具集成 11

1.6 与其他开源产品的比较 11

1.7 小结 13

第2章 快速入门 14

2.1 核心概念 14

2.1.1 数据仓库、OLAP与BI 14

2.1.2 维度建模 15

2.1.3 事实表和维度表 16

2.1.4 维度和度量 16

2.1.5 Cube、Cuboid和Cube Segment 16

2.2 在Hive中准备数据 17

2.3 安装和启动Apache Kylin 19

2.4 设计Cube 19

2.5 构建Cube 32

2.6 查询Cube 38

2.7 SQL参考 41

2.8 小结 41

第3章 Cube优化 42

3.1 Cuboid剪枝优化 42

3.2 剪枝优化工具 47

3.3 并发粒度优化 54

3.4 Rowkey优化 55

3.5 Top_N度量优化 58

3.6 Cube Planner优化 61

3.7 其他优化 62

3.8 小结 63

第4章 增量构建 64

4.1 为什么要增量构建 64

4.2 设计增量Cube 66

4.3 触发增量构建 69

4.4 管理Cube碎片 76

4.5 小结 80

第5章 查询和可视化 81

5.1 Web GUI 81

5.2 REST API 84

5.3 ODBC 87

5.4 JDBC 90

5.5 Tableau集成 91

5.6 Zeppelin集成 95

5.7 Superset 集成 98

5.8 QlikView 集成 106

5.9 Qlik Sense集成 110

5.10 Redash集成 118

5.11 MicroStrategy 集成 122

5.12 小结 127

第6章 Cube Planner及仪表盘 128

6.1 Cube Planner 128

6.2 System Cube 134

6.3 仪表盘 135

6.4 小结 137

第7章 流式构建 138

7.1 为什么要进行流式构建 139

7.2 准备流式数据 139

7.3 设计流式Cube 144

7.4 流式构建原理 147

7.5 触发流式构建 150

7.6 小结 154

第8章 使用Spark 155

8.1 为什么要引入Apache Spark 155

8.2 Spark构建原理 156

8.3 使用Spark构建Cube 158

8.4 使用Spark SQL创建中间平表 164

8.5 小结 164

第9章 应用案例分析 166

9.1 小米集团 166

9.2 美团点评 169

9.3 携程 171

9.4 4399小游戏 173

9.5 国内某Top 3保险公司 174

9.6 某全球顶级银行卡组织 176

第10章 扩展Apache Kylin 178

10.1 可扩展式架构 178

10.2 计算引擎扩展 183

10.3 数据源扩展 190

10.4 存储扩展 194

10.5 聚合类型扩展 196

10.6 维度编码扩展 202

10.7 小结 205

第11章 Apache Kylin的安全与认证 206

11.1 身份验证 206

11.1.1 自定义验证 207

11.1.2 LDAP验证 209

11.1.3 单点登录 213

11.2 授权 214

11.3 小结 217

第12章 运维管理 218

12.1 监控和诊断 218

12.2 日常维护 222

12.3 获得社区帮助 229

12.4 小结 230

第13章 在云上使用Kylin 231

13.1 云计算世界 231

13.2 为何要在云上使用Kylin 232

13.3 在亚马逊AWS上使用Kylin 232

13.4 在微软Azure使用Kylin 239

13.5 在阿里云使用Kylin 247

13.6 认识Kyligence Cloud 255

13.7 小结 256

第14章 参与开源 257

14.1 Apache Kylin开源历程 257

14.2 为什么要参与开源 258

14.3 Apache开源社区简介 258

第15章 Kylin的未来 265