描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121396007
本书按照需求规划、需求实现、需求可视化的流程进行编排,遵循项目开发的实际流程,全面介绍了数据仓库的搭建过程。在整个数据仓库的搭建过程中,本书介绍了主要组件的安装部署过程、需求实现的具体思路、部分问题的解决方案等,并在其中穿插了许多与大数据和数据仓库相关的理论知识,包括大数据概论、数据仓库概论、电商业务概述、数据仓库理论准备、数据仓库建模等。
本书从逻辑上可以分为三部分:一是大数据与数据仓库概论及项目需求描述,主要介绍了数据仓库的概念、应用场景和搭建需求;二是项目部署的环境准备,介绍了如何从零开始搭建一个完整的数据仓库环境;三是需求模块实现,针对不同需求分模块进行实现,是本书的重点部分。
本书适合具有一定的编程基础并对大数据感兴趣的读者阅读。通过阅读本书,读者可以快速了解数据仓库,全面掌握数据仓库的相关技术。
第1章 大数据与数据仓库概论 1
1.1 大数据概论 1
1.1.1 什么是大数据 1
1.1.2 大数据生态圈简介 2
1.1.3 大数据应用场景 3
1.2 数据仓库概论 4
1.2.1 什么是数据仓库 4
1.2.2 数据仓库能干什么 4
1.2.3 数据仓库的特点 5
1.3 学前导读 6
1.3.1 学习的基础要求 6
1.3.2 你将学到什么 7
1.4 本章总结 7
第2章 项目需求描述 8
2.1 任务概述 8
2.1.1 产品描述 9
2.1.2 系统目标 9
2.1.3 系统功能结构 9
2.1.4 系统流程图 10
2.2 业务描述 10
2.2.1 采集模块业务描述 10
2.2.2 数据仓库需求业务描述 16
2.2.3 数据可视化业务描述 17
2.3 系统运行环境 17
2.3.1 硬件环境 17
2.3.2 软件环境 18
2.4 本章总结 20
第3章 项目部署的环境准备 21
3.1 Linux环境准备 21
3.1.1 VMware安装 21
3.1.2 CentOS安装 21
3.1.3 远程终端安装 31
3.2 Linux环境配置 34
3.2.1 网络配置 34
3.2.2 网络IP地址配置 35
3.2.3 主机名配置 36
3.2.4 防火墙配置 37
3.2.5 一般用户设置 38
3.3 Hadoop环境搭建 38
3.3.1 虚拟机环境准备 39
3.3.2 JDK安装 45
3.3.3 Hadoop安装 46
3.3.4 Hadoop分布式集群部署 47
3.3.5 配置Hadoop支持LZO压缩 52
3.3.6 配置Hadoop支持Snappy压缩 53
3.4 本章总结 54
第4章 用户行为数据采集模块 55
4.1 日志生成 55
4.2 采集日志的Flume 57
4.2.1 Flume组件 58
4.2.2 Flume安装 58
4.2.3 采集日志Flume配置 59
4.2.4 Flume的ETL拦截器和日志类型区分拦截器 61
4.2.5 采集日志Flume启动、停止脚本 67
4.3 消息队列Kafka 68
4.3.1 Zookeeper安装 68
4.3.2 Zookeeper集群启动、停止脚本 70
4.3.3 Kafka安装 71
4.3.4 Kafka集群启动、停止脚本 73
4.3.5 Kafka Topic相关操作 74
4.4 消费Kafka日志的Flume 75
4.4.1 消费日志Flume配置 75
4.4.2 消费日志Flume启动、停止脚本 78
4.5 采集通道启动、停止脚本 79
4.6 本章总结 80
第5章 业务数据采集模块 81
5.1 电商业务概述 81
5.1.1 电商业务流程 81
5.1.2 电商常识 82
5.1.3 电商表结构 82
5.1.4 数据同步策略 89
5.2 业务数据采集 90
5.2.1 MySQL安装 90
5.2.2 业务数据生成 92
5.2.3 业务数据建模 94
5.2.4 Sqoop安装 96
5.2.5 业务数据导入数据仓库 97
5.3 本章总结 109
第6章 数据仓库搭建模块 110
6.1 数据仓库理论准备 110
6.1.1 范式理论 110
6.1.2 关系模型与维度模型 113
6.1.3 星形模型、雪花模型与星座模型 114
6.1.4 表的分类 116
6.1.5 为什么要分层 117
6.1.6 数据仓库建模 118
6.1.7 业务术语 121
6.2 数据仓库搭建环境准备 123
6.2.1 MySQL HA 123
6.2.2 Hive安装 130
6.2.3 Tez引擎安装 134
6.3 数据仓库搭建——ODS层 138
6.3.1 创建数据库 138
6.3.2 用户行为数据 138
6.3.3 ODS层用户行为数据导入脚本 141
6.3.4 业务数据 142
6.3.5 ODS层业务数据导入脚本 151
6.4 数据仓库搭建——DWD层 154
6.4.1 用户行为启动日志表解析 154
6.4.2 用户行为事件表拆分 157
6.4.3 用户行为事件表解析 167
6.4.4 业务数据维度表解析 189
6.4.5 业务数据事实表解析 195
6.4.6 拉链表构建之用户维度表 209
6.4.7 DWD层数据导入脚本 214
6.5 数据仓库搭建——DWS层 223
6.5.1 系统函数 223
6.5.2 用户行为数据聚合 224
6.5.3 业务数据聚合 226
6.5.4 DWS层数据导入脚本 237
6.6 数据仓库搭建——DWT层 246
6.6.1 设备主题宽表 247
6.6.2 会员主题宽表 249
6.6.3 商品主题宽表 251
6.6.4 优惠券主题宽表 254
6.6.5 活动主题宽表 256
6.6.6 DWT层数据导入脚本 258
6.7 数据仓库搭建——ADS层 264
6.7.1 设备主题 264
6.7.2 会员主题 272
6.7.3 商品主题 275
6.7.4 营销主题 279
6.7.5 ADS层数据导入脚本 283
6.8 结果数据导出脚本 291
6.9 会员主题指标获取的全调度流程 293
6.9.1 Azkaban安装 293
6.9.2 创建可视化的MySQL数据库和表 300
6.9.3 编写指标获取调度流程 301
6.10 本章总结 306
第7章 数据可视化模块 307
7.1 模拟可视化数据 307
7.1.1 会员主题 307
7.1.2 地区主题 308
7.2 Superset部署 310
7.2.1 环境准备 310
7.2.2 Superset安装 312
7.3 Superset使用 314
7.3.1 对接MySQL数据源 314
7.3.2 制作仪表盘 317
7.4 本章总结 322
第8章 即席查询模块 323
8.1 Presto 323
8.1.1 Presto特点 323
8.1.2 Presto安装 324
8.1.3 Presto优化之数据存储 328
8.1.4 Presto优化之查询SQL 329
8.1.5 Presto注意事项 330
8.2 Druid 330
8.2.1 Druid简介 330
8.2.2 Druid框架原理 331
8.2.3 Druid数据结构 332
8.2.4 Druid安装(单机版) 333
8.3 Kylin 338
8.3.1 Kylin简介 338
8.3.2 HBase安装 339
8.3.3 Kylin安装 341
8.3.4 Kylin使用 343
8.3.5 Kylin Cube构建原理 353
8.3.6 Kylin Cube构建优化 356
8.3.7 Kylin BI工具集成 360
8.4 即席查询框架对比 367
8.5 本章总结 368
第9章 元数据管理模块 369
9.1 Atlas入门 369
9.1.1 Atlas概述 369
9.1.2 Atlas架构原理 370
9.2 Atlas安装及使用 371
9.2.1 安装前环境准备 371
9.2.2 集成外部框架 373
9.2.3 集群启动 377
9.2.4 导入Hive元数据到Atlas 377
9.3 Atlas界面查看及使用 378
9.3.1 查看基本信息 378
9.3.2 查看血缘依赖关系 381
9.4 本章总结 386
大数据发展至今,早已不是一个新兴词语,大数据的应用已经无处不在。在大数据时代,我们面临的不仅是海量的数据,更重要的是海量数据所带来的数据的采集、存储、处理等方方面面的问题。为了更快速、更全面地展示大数据的实践应用,本书以一个数据仓库项目为切入点,带领读者一步步揭开大数据的面纱。
数据仓库项目是学习大数据的重要基石。本书以数据仓库的搭建为主线,从搭建之初的框架选型、数据服务的整体策划到数据的流向,数据的采集、存储和计算,循序渐进,一步步地展开,进行细致剖析。在对数据传输过程的讲解中,穿插了数据仓库的相关理论知识及大数据关键框架组件的讲解,务求让读者对大数据有更深刻的理解,更加全面地了解大数据生态体系。
本书共9章,包括大数据与数据仓库概论、项目需求描述、项目部署的环境准备、用户行为数据采集模块、业务数据采集模块、数据仓库搭建模块、数据可视化模块、即席查询模块、元数据管理模块。
本项目采用主流的数据仓库建模方式(确定业务过程、声明粒度、确定维度、确实事实),覆盖当前主流框架——采集,Flume/Kafka/Sqoop;存储,MySQL/Hadoop/HBase;计算,Hive/Tez;查询,Presto/Druid/Kylin;可视化,Superset;任务调度,Azkaban;元数据管理,Atlas;脚本,Shell。
整套项目包含业务指标近100个、Shell脚本40多个、用户行为原始表11张,业务原始表24张、数据仓库总表近100张……
阅读本书要求读者具有一定的编程基础,至少掌握一门编程语言(如Java)及SQL查询语言。读者若不具备此项条件,则可以关注“尚硅谷教育”公众号(微信号:atguigu),在聊天窗口发送关键字“大数据”,即可获取尚硅谷大数据学科全套视频教程及学习路线图;发送关键字“数仓项目”,则可获取本书相关学习资料,包括2760分钟配套视频及全部的源码、脚本、课件、软件包等。
感谢电子工业出版社的李冰编辑在本书编写过程中给予的指导与支持。
尚硅谷IT教育
关于我们
尚硅谷IT教育是一家专业的IT教育培训机构,开设了JavaEE、大数据、HTML5前端等多门学科,在互联网上发布的JavaEE、大数据、HTML5前端、区块链、C语言、Python等技术视频教程广受赞誉。
尚硅谷IT教育一直坚持“技术为王”的发展理念,我们专注技术,不断钻研课程,团队中技术型人才占比60%以上,设有独立的研究院,与多家互联网大型企业的研发团队保持技术交流,保障教学内容始终基于研发一线。
截至目前,尚硅谷IT教育已累计发布视频教程11 788集,全长2742小时,通过分享优质的教学资源,直接或间接帮助了更多需要帮助的人。让天下没有难学的技术,坚持开源精神,不断打磨优质的教学产品,推出更多进阶的视频教程,同时,为满足更多的学习场景需求,我们会陆续出版系列技术图书,为广大IT从业者提供更多优质的学习资源。
希望通过我们的努力,帮助更多怀揣梦想的年轻人,为中国的软件人才培养尽一点绵薄之力。
关注“尚硅谷教育”公众号,获取更多视频教程,包括大数据、JavaEE、HTML5前端、区块链、Go语言、Linux、Python、C语言、Android等,并附赠学习路线图,全部免费获取!
评论
还没有评论。