剑指大数据:企业级数据仓库项目实战(电商版)
书籍作者:尚硅谷教育 |
ISBN:9787121440403 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:2764 |
创建日期:2023-04-28 |
发布日期:2023-04-28 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
本书按照需求规划、需求实现、可视化的流程进行编排,通过项目开发的主要流程,介绍数据仓库的搭建过程。在整个数据仓库的搭建过程中,本书介绍了主要组件的安装部署、需求实现的具体思路,以及各种问题的解决方案等,并在其中穿插了许多与大数据和数据仓库相关的理论知识,包括数据仓库的概念、电商业务概述、数据仓库理论和数据仓库建模等。 本书共14章,其中,第1~3章是项目的前期准备阶段,主要介绍了数据仓库的概念和搭建需求,并初步搭建了本数据仓库项目所需的基本环境;第4~7章是项目的核心部分,详细介绍了数据仓库的建模理论,并完成了数据从采集到分层搭建的全过程,是本书的重点部分;第8~14章是对数据治理各功能模块的实现,针对数据治理的不同功能需求分模块进行实现。 本书适合具有一定编程基础并对大数据感兴趣的读者阅读。通过学习本书,读者可以快速了解数据仓库,全面掌握数据仓库相关技术。
作者简介
尚硅谷教育是一家专业的IT教育培训机构,开设了JavaEE、大数据、HTML5前端等多门学科,在互联网上发布的JavaEE、大数据、HTML5前端、区块链、C语言、Python等技术视频教程广受赞誉。
目录
目录
第1章 数据仓库概论 1
1.1 数据仓库的概念与特点 1
1.2 数据仓库的演进过程 2
1.3 数据仓库技术 3
1.4 数据仓库基本架构 5
1.5 数据库和数据仓库的区别 8
1.6 学前导读 9
1.6.1 学习的基础要求 9
1.6.2 你将学到什么 9
1.7 本章总结 10
第2章 项目需求描述 11
2.1 前期调研 11
2.2 项目架构分析 12
2.2.1 电商数据仓库产品描述 12
2.2.2 系统功能结构 13
2.2.3 系统流程图 14
2.3 项目业务概述 14
2.3.1 采集模块业务描述 14
2.3.2 数据仓库需求业务描述 15
2.3.3 数据可视化业务描述 17
2.3.4 即席查询业务描述 17
2.3.5 数据治理业务描述 18
2.4 系统运行环境 19
2.4.1 硬件环境 19
2.4.2 软件环境 20
2.5 本章总结 22
第3章 项目部署的环境准备 23
3.1 Linux环境准备 23
3.1.1 VMware安装 23
3.1.2 CentOS安装 23
3.1.3 远程终端安装 31
3.2 Linux环境配置 35
3.2.1 网络配置 35
3.2.2 网络IP地址配置 36
3.2.3 主机名配置 36
3.2.4 防火墙配置 37
3.2.5 一般用户设置 38
3.3 Hadoop环境搭建 38
3.3.1 虚拟机环境准备 38
3.3.2 JDK安装 43
3.3.3 Hadoop安装 44
3.3.4 Hadoop分布式集群部署 45
3.4 本章总结 51
第4章 用户行为数据采集模块 52
4.1 日志生成 52
4.1.1 数据埋点 52
4.1.2 用户行为日志内容 52
4.1.3 用户行为日志格式 54
4.1.4 数据模拟 58
4.2 消息队列Kafka 61
4.2.1 ZooKeeper安装 61
4.2.2 ZooKeeper集群启动、停止脚本 63
4.2.3 Kafka安装 64
4.2.4 Kafka Eagle安装 65
4.2.5 Kafka集群启动、停止脚本 67
4.2.6 Kafka topic相关操作 68
4.3 采集日志的Flume 68
4.3.1 Flume组件 69
4.3.2 Flume安装 69
4.3.3 采集日志的Flume配置 70
4.3.4 Flume的拦截器 71
4.3.5 采集日志的Flume启动、停止脚本 75
4.4 消费日志的Flume 76
4.4.1 消费日志的Flume配置 77
4.4.2 时间戳拦截器 78
4.4.3 消费日志的Flume启动、停止脚本 80
4.4.4 数据通道测试 81
4.5 采集通道启动、停止脚本 81
4.6 本章总结 83
第5章 业务数据采集模块 84
5.1 电商业务概述 84
5.1.1 电商业务流程 84
5.1.2 电商常识 85
5.1.3 电商业务表结构 85
5.1.4 数据同步策略 95
5.1.5 数据同步工具选择 97
5.2 业务数据采集 97
5.2.1 MySQL安装 97
5.2.2 业务数据生成 99
5.2.3 业务数据模型梳理 102
5.2.4 DataX安装 106
5.2.5 Maxwell安装 108
5.2.6 全量同步 112
5.2.7 增量同步 122
5.3 本章总结 130
第6章 数据仓库搭建模块 131
6.1 数据仓库理论准备 131
6.1.1 数据建模概述 131
6.1.2 关系模型与范式理论 132
6.1.3 维度模型 135
6.1.4 维度建模理论之事实表 136
6.1.5 维度建模理论之维度表 139
6.1.6 雪花模型、星形模型与星座模型 142
6.2 数据仓库建模实践 144
6.2.1 名词概念 144
6.2.2 为什么要分层 145
6.2.3 数据仓库搭建流程 146
6.2.4 数据仓库开发规范 153
6.3 数据仓库搭建环境准备 157
6.3.1 Hive安装 157
6.3.2 Hive on Spark配置 160
6.3.3 YARN容量调度器并发度问题 162
6.3.4 数据仓库开发环境配置 162
6.3.5 模拟数据准备 166
6.3.6 常用函数 168
6.3.7 复杂数据类型 169
6.4 数据仓库搭建――ODS层 170
6.4.1 用户行为数据 171
6.4.2 ODS层用户行为数据导入脚本 172
6.4.3 业务数据 173
6.4.4 ODS层业务数据导入脚本 183
6.5 数据仓库搭建――DIM层 186
6.5.1 商品维度表(全量) 186
6.5.2 优惠券维度表(全量) 189
6.5.3 活动维度表(全量) 191
6.5.4 地区维度表(全量) 193
6.5.5 时间维度表(特殊) 194
6.5.6 用户维度表(拉链表) 195
6.5.7 DIM层首日数据装载脚本 199
6.5.8 DIM层每日数据装载脚本 199
6.6 数据仓库搭建――DWD层 199
6.6.1 交易域加购物车事务事实表 200
6.6.2 交易域下单事务事实表 204
6.6.3 交易域取消订单事务事实表 209
6.6.4 交易域支付成功事务事实表 214
6.6.5 交易域退单事务事实表 220
6.6.6 交易域退款成功事务事实表 224
6.6.7 交易域购物车周期快照事实表 227
6.6.8 工具域优惠券领取事务事实表 228
6.6.9 工具域优惠券使用(下单)事务事实表 229
6.6.10 工具域优惠券使用(支付)事务事实表 230
6.6.11 互动域收藏事务事实表 232
6.6.12 互动域评价事务事实表 233
6.6.13 流量域页面浏览事务事实表 235
6.6.14 流量域启动事务事实表 238
6.6.15 流量域动作事务事实表 240
6.6.16 流量域曝光事务事实表 243
6.6.17 流量域错误事务事实表 245
6.6.18 用户域注册事务事实表 248
6.6.19 用户域登录事务事实表 251
6.6.20 DWD层首日业务数据装载脚本 254
6.6.21 DWD层每日业务数据装载脚本 254
6.7 数据仓库搭建――DWS层 255
6.7.1 最近1日汇总表 256
6.7.2 最近n日汇总表 269
6.7.3 历史至今汇总表 279
6.8 数据仓库搭建――ADS层 283
6.8.1 流量主题指标 283
6.8.2 用户主题指标 286
6.8.3 商品主题指标 294
6.8.4 交易主题指标 302
6.8.5 优惠券主题指标 306
6.8.6 活动主题指标 307
6.8.7 ADS层数据导入脚本 307
6.9 数据模型评估及优化 308
6.10 本章总结 308
第7章 DolphinScheduler全流程调度 309
7.1 DolphinScheduler概述与安装部署 309
7.1.1 DolphinScheduler概述 309
7.1.2 DolphinScheduler安装部署 310
7.2 创建MySQL数据库和表 317
7.3 DataX数据导出 322
7.4 全流程调度 329
7.4.1 数据准备 329
7.4.2 全流程调度配置 330
7.5 电子邮件报警 337
7.5.1 注册邮箱 337
7.5.2 配置电子邮件报警 339
7.6 本章总结 341
第8章 数据可视化模块 342
8.1 Superset部署 342
8.1.1 环境准备 342
8.1.2 Superset安装 344
8.2 Superset使用 347
8.2.1 对接MySQL数据源 347
8.2.2 制作仪表盘 350
8.3 Superset实战 354
8.3.1 制作柱状图 354
8.3.2 制作旭日图 355
8.3.3 制作桑基图 357
8.3.4 合成仪表盘页面 358
8.4 ECharts可视化 359
8.5 本章总结 361
第9章 即席查询模块 362
9.1 Presto 362
9.1.1 Presto简介 362
9.1.2 Presto安装 363
9.1.3 Presto优化之数据存储 367
9.1.4 Presto优化之SQL查询语句 367
9.1.5 Presto注意事项 368
9.2 Kylin 368
9.2.1 Kylin简介 368
9.2.2 HBase安装 370
9.2.3 Kylin安装 371
9.2.4 Kylin使用 373
9.2.5 Kylin Cube构建原理 384
9.2.6 Kylin Cube存储原理 387
9.2.7 Kylin Cube构建优化 388
9.2.8 Kylin BI工具集成 392
9.3 即席查询框架对比 398
9.4 本章总结 399
第10章 集群监控模块 400
10.1 Zabbix入门 400
10.2 Zabbix部署 401
10.2.1 集群规划 401
10.2.2 准备工作 401
10.2.3 配置Zabbix yum源 402
10.2.4 安装并配置Zabbix 404
10.2.5 启动、停止Zabbix 405
10.3 Zabbix使用 409
10.3.1 术语介绍 410
10.3.2 Zabbix实战 410
10.3.3 创建模板 422
10.4 Grafana 427
10.4.1 Grafana安装部署 427
10.4.2 快速入门 428
10.4.3 集成Zabbix 430
10.5 本章总结 439
第11章 安全认证模块 440
11.1 Kerberos入门 440
11.1.1 Kerberos概述 440
11.1.2 Kerberos认证原理 440
11.2 Kerberos安装 441
11.2.1 安装Kerberos相关服务 441
11.2.2 修改配置文件 441
11.2.3 初始化KDC数据库 442
11.2.4 修改管理员权限配置文件 442
11.2.5 启动Kerberos相关服务 443
11.2.6 创建Kerberos管理员用户 443
11.3 Kerberos操作 443
11.3.1 Kerberos数据库操作 443
11.3.2 Kerberos认证操作 444
11.4 Hadoop集成Kerberos 444
11.4.1 创建Hadoop系统用户 444
11.4.2 为Hadoop各服务创建Kerberos主体(Principal) 445
11.4.3 修改Hadoop配置文件 448
11.4.4 配置HDFS使用HTTPS协议 452
11.4.5 配置YARN使用LinuxContainerExecutor 453
11.5 在安全认证模式下启动Hadoop集群 455
11.5.1 修改本地特定路径访问权限 455
11.5.2 启动HDFS 456
11.5.3 修改HDFS特定路径访问权限 457
11.5.4 启动YARN 458
11.5.5 启动HistoryServer 458
11.6 在安全认证模式下操作Hadoop集群 459
11.6.1 用户要求 459
11.6.2 HDFS操作 459
11.6.3 MapReduce任务提交 463
11.7 Hive集成Kerberos 463
11.7.1 配置要求 463
11.7.2 配置认证 464
11.7.3 启动HiveServer2服务 465
11.8 在安全认证模式下操作Hive 465
11.8.1 Beeline客户端 465
11.8.2 DataGrip客户端 465
11.9 在安全认证模式下执行数据仓库全流程调度 469
11.9.1 用户准备 469
11.9.2 修改数据采集通道 470
11.9.3 修改数据仓库各层脚本 473
11.9.4 修改数据导出DataX配置文件 474
11.9.5 修改HDFS特定路径的所有者 477
11.9.6 全流程数据准备 477
11.9.7 DolphinScheduler集成Kerberos 478
11.9.8 全流程调度 479
11.10 Presto集成Kerberos 482
11.10.1 用户准备 482
11.10.2 创建HTTPS协议所需的密钥对 482
11.10.3 修改Presto Coordinator配置文件 483
11.10.4 修改Hive Connector配置文件 483
11.10.5 配置客户端Kerberos主体到用户名之间的映射规则 483
11.10.6 配置Presto代理用户 484
11.10.7 重启Presto集群 484
11.10.8 在安全认证模式下操作Presto 485
11.11 Kylin集成Kerberos 485
11.11.1 Kerberos集成HBase 485
11.11.2 Kerberos集成Kylin 487
11.12 本章总结 488
第12章 权限管理模块 489
12.1 Ranger入门 489
12.1.1 Ranger概述 489
12.1.2 Ranger架构原理 489
12.2 Ranger安装部署 490
12.2.1 RangerAdmin安装与配置 490
12.2.2 RangerUsersync安装与配置 493
12.2.3 Ranger Hive-plugin安装与配置 495
12.3 使用Ranger对Hive进行权限管理 501
12.3.1 权限控制初体验 501
12.3.2 Ranger的权限管理模型 503
12.4 本章总结 503
第13章 元数据管理模块 504
13.1 Atlas入门 504
13.1.1 元数据管理概述 504
13.1.2 Atlas概述 505
13.1.3 Atlas架构原理 505
13.2 Atlas安装及启动 506
13.2.1 安装前环境准备 507
13.2.2 集成外部框架 509
13.2.3 Atlas Server配置 509
13.2.4 Kerberos相关配置 510
13.2.5 Atlas集成Hive 510
13.2.6 Atlas启动 511
13.3 Atlas使用 512
13.3.1 Hive元数据初次全量导入 512
13.3.2 Hive元数据增量同步 513
13.3.3 编译Atlas源码包 516
13.4 本章总结 518
第14章 数据质量 519
14.1 数据质量管理概述 519
14.1.1 数据质量管理定义 519
14.1.2 数据质量评估 519
14.2 数据质量监控需求 520
14.3 开发环境准备 520
14.3.1 Python环境准备 520
14.3.2 初始化MySQL环境 526
14.4 编写及集成检查规则脚本 528
14.4.1 编写检查规则脚本 528
14.4.2 集成检查规则脚本 535
14.5 编写报警脚本 537
14.6 调度模块 541
14.6.1 在Worker节点上安装MySQL客户端 541
14.6.2 配置工作流 542
14.7 可视化模块 547
14.8 本章总结 552