失效链接处理 |
Apache Kylin权威指南(第2版) PDF 下载
整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.china-pub.com/8062444
相关截图:
资料简介:
本书由Apache Kylin核心开发团队编写,近两年Apache Kylin随着社区持续贡献的热度和在不同领域业务场景的深入实践应用,新的功能和特性不断涌现,这样就迫切需要更新内容来满足广大Apache Kylin 的使用者和关注人群的需要。本书从Apache Kylin的架构和设计,各个模块的使用,与第三方的整合,二次开发以及开源实践等各个方面进行讲解,为各位读者呈现最核心的设计理念和哲学、算法和技术等。
资料目录:
推荐序 前 言 第1章 Apache Kylin概述 1 1.1 背景和历史 1 1.2 Apache Kylin的使命 3 1.2.1 为什么要使用Apache Kylin 3 1.2.2 Apache Kylin怎样解决关键问题 4 1.3 Apache Kylin的工作原理 5 1.3.1 维度和度量简介 5 1.3.2 Cube和Cuboid 6 1.3.3 工作原理 7 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.2.1 多维数据模型 17 2.2.2 维度表的设计 17 2.2.3 Hive表分区 18 2.2.4 了解维度的基数 18 2.2.5 样例数据 18 2.3 安装和启动Apache Kylin 19 2.3.1 环境准备 19 2.3.2 必要组件 19 2.3.3 启动Apache Kylin 19 2.4 设计Cube 19 2.4.1 导入Hive表定义 19 2.4.2 创建数据模型 21 2.4.3 创建Cube 23 2.5 构建Cube 32 2.5.1 全量构建和增量构建 34 2.5.2 历史数据刷新 35 2.5.3 合并 36 2.6 查询Cube 38 2.6.1 Apache Kylin查询介绍 38 2.6.2 查询下压 40 2.7 SQL参考 41 2.8 小结 41 第3章 Cube优化 42 3.1 Cuboid剪枝优化 42 3.1.1 维度的组合 42 3.1.2 检查Cuboid数量 43 3.1.3 检查Cube大小 45 3.1.4 空间与时间的平衡 46 3.2 剪枝优化工具 47 3.2.1 使用衍生维度 47 3.2.2 聚合组 49 3.2.3 必需维度 51 3.2.4 层级维度 51 3.2.5 联合维度 52 3.3 并发粒度优化 54 3.4 Rowkey优化 55 3.4.1 调整Rowkey顺序 55 3.4.2 选择合适的维度编码 56 3.4.3 按维度分片 57 3.5 Top_N度量优化 58 3.6 Cube Planner优化 61 3.7 其他优化 62 3.7.1 降低度量精度 62 3.7.2 及时清理无用Segment 63 3.8 小结 63 第4章 增量构建 64 4.1 为什么要增量构建 64 4.2 设计增量Cube 66 4.2.1 设计增量Cube的条件 66 4.2.2 增量Cube的创建 67 4.3 触发增量构建 69 4.3.1 Web GUI触发 69 4.3.2 构建相关的REST API 70 4.4 管理Cube碎片 76 4.4.1 合并Segment 76 4.4.2 自动合并 77 4.4.3 保留Segment 79 4.4.4 数据持续更新 79 4.5 小结 80 第5章 查询和可视化 81 5.1 Web GUI 81 5.1.1 查询 81 5.1.2 显示结果 82 5.2 REST API 84 5.2.1 查询认证 85 5.2.2 查询请求参数 85 5.2.3 查询返回结果 86 5.3 ODBC 87 5.4 JDBC 90 5.4.1 获得驱动包 90 5.4.2 认证 90 5.4.3 URL格式 90 5.4.4 获取元数据信息 91 5.5 Tableau集成 91 5.5.1 连接Kylin数据源 92 5.5.2 设计数据模型 93 5.5.3 “Live”连接 93 5.5.4 自定义SQL 94 5.5.5 可视化展现 94 5.5.6 发布到Tableau Server 95 5.6 Zeppelin集成 95 5.6.1 Zeppelin架构简介 95 5.6.2 KylinInterpreter的工作原理 96 5.6.3 如何使用Zeppelin访问Kylin 96 5.7 Superset 集成 98 5.7.1 下载Kylinpy 98 5.7.2 安装Superset 99 5.7.3 在Superset中添加Kylin Database 100 5.7.4 在Superset中添加Kylin Table 100 5.7.5 在Superset中创建图表 103 5.7.6 在Superset中通过SQL Lab探索Kylin 105 5.8 QlikView 集成 106 5.8.1 连接Kylin数据源 106 5.8.2 “Direct Query”连接 107 5.8.3 创建可视化 109 5.8.4 发布到QlikView Server 110 5.9 Qlik Sense集成 110 5.9.1 连接Kylin数据源 110 5.9.2 “Direct Query”连接 112 5.9.3 创建可视化 114 5.9.4 发布到Qlik Sense Hub 115 5.9.5 在Qlik Sense Hub中连接Kylin数据源 117 5.10 Redash集成 118 5.10.1 连接Kylin数据源 118 5.10.2 新建查询 119 5.10.3 新建仪表盘 121 5.11 MicroStrategy 集成 122 5.11.1 创建数据库实例 123 5.11.2 导入逻辑表 124 5.11.3 创建属性、事实和度量 124 5.11.4 创建报告 124 5.11.5 MicroStrategy连接Kylin最佳实践 126 5.12 小结 127 第6章 Cube Planner及仪表盘 128 6.1 Cube Planner 128 6.1.1 为什么要引入Cube Planner 128 6.1.2 Cube Planner 算法介绍 129 6.1.3 使用Cube Planner 131 6.2 System Cube 134 6.2.1 开启System Cube 134 6.2.2 构建和更新System Cube 135 6.3 仪表盘 135 6.4 小结 137 第7章 流式构建 138 7.1 为什么要进行流式构建 139 7.2 准备流式数据 139 7.2.1 数据格式 139 7.2.2 消息队列 140 7.2.3 创建Schema 141 7.3 设计流式Cube 144 7.3.1 创建Model 144 7.3.2 创建Cube 145 7.4 流式构建原理 147 7.5 触发流式构建 150 7.5.1 单次触发构建 151 7.5.2 自动化多次触发 152 7.5.3 初始化构建起点 152 7.5.4 其他操作 153 7.5.5 出错处理 153 7.6 小结 154 第8章 使用Spark 155 8.1 为什么要引入Apache Spark 155 8.2 Spark构建原理 156 8.3 使用Spark构建Cube 158 8.3.1 配置Spark引擎 158 8.3.2 开启Spark动态资源分配 161 8.3.3 出错处理和问题排查 162 8.4 使用Spark SQL创建中间平表 164 8.5 小结 164 第9章 应用案例分析 166 9.1 小米集团 166 9.1.1 背景 166 9.1.2 利用Apache Kylin构建定制化OLAP解决方案 167 9.1.3 Kylin在小米的三类主要应用场景 168 9.2 美团点评 169 9.2.1 美团点评的数据场景特点 169 9.2.2 接入Apache Kylin的解决方案 170 9.2.3 Kylin的优势 170 9.3 携程 171 9.3.1 背景 171 9.3.2 选择Kylin的原因 171 9.3.3 Kylin在携程的应用情况 172 9.4 4399小游戏 173 9.4.1 背景 173 9.4.2 Kylin 部署架构 173 9.4.3 Apache Kylin 在4399的价值 174 9.5 国内某Top 3保险公司 174 9.5.1 背景 174 9.5.2 主要痛点 175 9.5.3 Kylin带来的改变 175 9.6 某全球顶级银行卡组织 176 9.6.1 背景 176 9.6.2 Kylin的价值体现 177 第10章 扩展Apache Kylin 178 10.1 可扩展式架构 178 10.1.1 可扩展架构工作原理 178 10.1.2 三大主要接口 180 10.2 计算引擎扩展 183 10.2.1 EngineFactory 183 10.2.2 MRBatchCubingEngine2 184 10.2.3 BatchCubingJobBuilder2 185 10.2.4 IMRInput 187 10.2.5 IMROutput2 189 10.2.6 计算引擎扩展小结 190 10.3 数据源扩展 190 10.3.1 Hive数据源 191 10.3.2 JDBC数据源 192 10.4 存储扩展 194 10.5 聚合类型扩展 196 10.5.1 聚合的JSON定义 196 10.5.2 聚合类型工厂 197 10.5.3 聚合类型的实现(Measure-Type) 198 10.5.4 聚合类型扩展小结 202 10.6 维度编码扩展 202 10.6.1 维度编码的JSON定义 202 10.6.2 维度编码工厂(Dimension-EncodingFactory) 203 10.6.3 维度编码实现(Dimension-Encoding) 204 10.6.4 维度编码扩展小结 205 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.2.1 新的访问权限控制 214 11.2.2 统一的项目级别访问控制 214 11.2.3 管理数据访问权限 216 11.3 小结 217 第12章 运维管理 218 12.1 监控和诊断 218 12.1.1 日志文件 218 12.1.2 任务报警 220 12.1.3 诊断工具 221 12.2 日常维护 222 12.2.1 基本运维 223 12.2.2 元数据备份 223 12.2.3 元数据恢复 224 12.2.4 系统升级 224 12.2.5 迁移 227 12.2.6 垃圾清理 228 12.3 获得社区帮助 229 12.3.1 邮件列表 229 12.3.2 JIRA 230 12.4 小结 230 第13章 在云上使用Kylin 231 13.1 云计算世界 231 13.2 为何要在云上使用Kylin 232 13.3 在亚马逊AWS上使用Kylin 232 13.3.1 准备AWS服务资源 233 13.3.2 AWS账户信息 234 13.3.3 创建Amazon EMR集群 235 13.3.4 安装Apache Kylin 237 13.4 在微软Azure使用Kylin 239 13.4.1 准备Azure服务资源 240 13.4.2 准备Azure账户信息 241 13.4.3 创建HD Insight集群 241 13.4.4 安装Apache Kylin 246 13.5 在阿里云使用Kylin 247 13.5.1 准备阿里云服务资源 248 13.5.2 准备阿里云账户信息 249 13.5.3 创建E-MapReduce集群 250 13.5.4 安装Apache Kylin 252 13.6 认识Kyligence Cloud 255 13.7 小结 256 第14章 参与开源 257 14.1 Apache Kylin开源历程 257 14.2 为什么要参与开源 258 14.3 Apache开源社区简介 258 14.3.1 简介 258 14.3.2 组织构成与运作模式 259 14.3.3 项目角色 259 14.3.4 孵化项目及顶级项目 260 14.4 如何贡献到开源社区 262 14.4.1 什么是贡献 262 14.4.2 如何贡献 262 14.5 礼仪与文化 262 14.6 如何参与Apache Kylin 263 14.6.1 如何成为Apache Contributor 264 14.6.2 如何成为Apache Committer 264 14.7 小结 264 第15章 Kylin的未来 265 15.1 全面拥抱Spark技术 265 15.2 实时流分析 266 15.3 更快的存储和查询 266 15.4 前端展现及与BI工具的整合 266 15.5 高级OLAP函数 267 15.6 展望 267 附录A 使用VM本地部署Kylin 268 附录B Azure HDInsight边缘节点模板部署代码 274 附录C 集群部署Apache Kylin 277 附录D 使用MySQL作为元数据存储 279 附录E 配置Apache Kylin 281 附录F 多级配置重写 284 附录G 常见问题与解决方案 287 |