| 作 者: | 唐美霞 |
| 出版社: | 电子工业出版社 |
| 丛编项: | |
| 版权说明: | 本书为公共版权或经版权方授权,请支持正版图书 |
| 标 签: | 暂缺 |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
项目1 认识数据库与数据仓库 ????????????????????????????????????????????????????????????????????????????.1
【教学目标】 ??????????????????????????????????????????????????????????????????????????????????????????????.1
【背景描述】 ??????????????????????????????????????????????????????????????????????????????????????????????.1
任务 1 了解大数据 ?????????????????????????????????????????????????????????????????????????????????????.2
【任务描述】 ???????????????????????????????????????????????????????????????????????????????????.2
【任务要求】 ???????????????????????????????????????????????????????????????????????????????????.2
【相关知识】 ???????????????????????????????????????????????????????????????????????????????????.2
1.1.1 大数据的概念及发展历程 ????????????????????????????????????????????????????.2
1.1.2 大数据的数据类型 ?????????????????????????????????????????????????????????????.2
1.1.3 大数据的特点 ???????????????????????????????????????????????????????????????????.3
1.1.4 大数据的行业应用 ?????????????????????????????????????????????????????????????.4
1.1.5 大数据的技术体系 ?????????????????????????????????????????????????????????????.5
任务 2 了解大数据存储技术 ?????????????????????????????????????????????????????????????????????????.7
【任务描述】 ???????????????????????????????????????????????????????????????????????????????????.7
【任务要求】 ???????????????????????????????????????????????????????????????????????????????????.7
【相关知识】 ???????????????????????????????????????????????????????????????????????????????????.7
1.2.1 大数据存储简介 ????????????????????????????????????????????????????????????????.7
1.2.2 基于文件系统的数据存储 ????????????????????????????????????????????????????.8
1.2.3 基于数据库的数据存储 ???????????????????????????????????????????????????????.9
1.2.4 基于数据仓库的数据存储 ??????????????????????????????????????????????????.10
项目总结 ?????????????????????????????????????????????????????????????????????????????????????????????????.10
课后习题 ?????????????????????????????????????????????????????????????????????????????????????????????????.11
项目2 安装与部署HBase ????????????????????????????????????????????????????????????????????????????????.12
【教学目标】 ????????????????????????????????????????????????????????????????????????????????????????????.12
【背景描述】 ????????????????????????????????????????????????????????????????????????????????????????????.12
任务 1 搭建 分布式 Hadoop 集群 ????????????????????????????????????????????????????????????.13
【任务描述】 ?????????????????????????????????????????????????????????????????????????????????.13
【任务要求】 ?????????????????????????????????????????????????????????????????????????????????.13
【相关知识】 ?????????????????????????????????????????????????????????????????????????????????.13
2.1.1 Hadoop 简介 ???????????????????????????????????????????????????????????????????.13
2.1.2 Hadoop 的核心组件 ??????????????????????????????????????????????????????????.14
2.1.3 Hadoop 生态系统 ?????????????????????????????????????????????????????????????.17
2.1.4 搭建 Hadoop 集群前的准备工作 ??????????????????????????????????????????.19
【任务实施】 ?????????????????????????????????????????????????????????????????????????????????.19
【任务实训】 ?????????????????????????????????????????????????????????????????????????????????.47
任务 2 安装 ZooKeeper 集群 ???????????????????????????????????????????????????????????????????????.47
【任务描述】 ?????????????????????????????????????????????????????????????????????????????????.47
【任务要求】 ?????????????????????????????????????????????????????????????????????????????????.47
【相关知识】 ?????????????????????????????????????????????????????????????????????????????????.48
2.2.1 ZooKeeper 简介 ???????????????????????????????????????????????????????????????.48
2.2.2 ZooKeeper 的架构 ????????????????????????????????????????????????????????????.48
【任务实施】 ?????????????????????????????????????????????????????????????????????????????????.49
任务 3 安装与配置 HBase 集群 ???????????????????????????????????????????????????????????????????.51
【任务描述】 ?????????????????????????????????????????????????????????????????????????????????.51
【任务要求】 ?????????????????????????????????????????????????????????????????????????????????.51
【相关知识】 ?????????????????????????????????????????????????????????????????????????????????.52
2.3.1 HBase 简介 ????????????????????????????????????????????????????????????????????.52
2.3.2 HBase 的核心功能模块 ?????????????????????????????????????????????????????.53
2.3.3 HBase 的读/写流程 ??????????????????????????????????????????????????????????.54
【任务实施】 ?????????????????????????????????????????????????????????????????????????????????.55
【任务实训】 ?????????????????????????????????????????????????????????????????????????????????.58
项目总结 ?????????????????????????????????????????????????????????????????????????????????????????????????.59
课后习题 ?????????????????????????????????????????????????????????????????????????????????????????????????.59
项目3 使用HBase Shell 构建博客数据库系统 ??????????????????????????????????????????????????????.60
【教学目标】 ????????????????????????????????????????????????????????????????????????????????????????????.60
【背景描述】 ????????????????????????????????????????????????????????????????????????????????????????????.60
任务 1 设计 HBase 表 ???????????????????????????????????????????????????????????????????????????????.61
【任务描述】 ?????????????????????????????????????????????????????????????????????????????????.61
【任务要求】 ?????????????????????????????????????????????????????????????????????????????????.61
【相关知识】 ?????????????????????????????????????????????????????????????????????????????????.61
3.1.1 HBase 的数据模型 ???????????????????????????????????????????????????????????.61
3.1.2 HBase 表的结构设计原则 ??????????????????????????????????????????????????.62
3.1.3 HBase 的检索方式 ???????????????????????????????????????????????????????????.63
3.1.4 RowKey 设计原则 ????????????????????????????????????????????????????????????.63
3.1.5 热点问题 ???????????????????????????????????????????????????????????????????????.63
3.1.6 列族设计原则 ?????????????????????????????????????????????????????????????????.64
【任务实施】 ?????????????????????????????????????????????????????????????????????????????????.65
任务 2 创建 HBase 表 ???????????????????????????????????????????????????????????????????????????????.66
【任务描述】 ?????????????????????????????????????????????????????????????????????????????????.66
【任务要求】 ?????????????????????????????????????????????????????????????????????????????????.66
【相关知识】 ?????????????????????????????????????????????????????????????????????????????????.66
3.2.1 命名空间 ???????????????????????????????????????????????????????????????????????.66
3.2.2 创建表 ??????????????????????????????????????????????????????????????????????????.67
3.2.3 查看表结构 ????????????????????????????????????????????????????????????????????.68
3.2.4 修改表 ??????????????????????????????????????????????????????????????????????????.69
3.2.5 删除表 ??????????????????????????????????????????????????????????????????????????.69
【任务实施】 ?????????????????????????????????????????????????????????????????????????????????.69
【任务实训】 ?????????????????????????????????????????????????????????????????????????????????.70
任务 3 查询 HBase 表数据 ?????????????????????????????????????????????????????????????????????????.70
【任务描述】 ?????????????????????????????????????????????????????????????????????????????????.70
【任务要求】 ?????????????????????????????????????????????????????????????????????????????????.70
【相关知识】 ?????????????????????????????????????????????????????????????????????????????????.71
3.3.1 插入数据 ???????????????????????????????????????????????????????????????????????.71
3.3.2 查询数据 ???????????????????????????????????????????????????????????????????????.72
3.3.3 扫描全表数据 ?????????????????????????????????????????????????????????????????.72
3.3.4 删除数据 ???????????????????????????????????????????????????????????????????????.73
3.3.5 清空数据 ???????????????????????????????????????????????????????????????????????.73
【任务实施】 ?????????????????????????????????????????????????????????????????????????????????.73
【任务实训】 ?????????????????????????????????????????????????????????????????????????????????.75
任务 4 查询符合 条件的 HBase 表数据 ????????????????????????????????????????????????????.76
【任务描述】 ?????????????????????????????????????????????????????????????????????????????????.76
【任务要求】 ?????????????????????????????????????????????????????????????????????????????????.76
【相关知识】 ?????????????????????????????????????????????????????????????????????????????????.77
3.4.1 HBase 查询 ??????????????????????????????????????????????????????????????.77
3.4.2 HBase 的抽象操作符 ????????????????????????????????????????????????????????.77
3.4.3 HBase 的比较器 ??????????????????????????????????????????????????????????????.77
3.4.4 HBase 的过滤器 ??????????????????????????????????????????????????????????????.78
【任务实施】 ?????????????????????????????????????????????????????????????????????????????????.79
【任务实训】 ?????????????????????????????????????????????????????????????????????????????????.79
项目总结 ?????????????????????????????????????????????????????????????????????????????????????????????????.80
课后习题 ?????????????????????????????????????????????????????????????????????????????????????????????????.80
项目4 使用HBase Java API 开发博客数据库系统 ?????????????????????????????????????????????????.82
【教学目标】 ????????????????????????????????????????????????????????????????????????????????????????????.82
【背景描述】 ????????????????????????????????????????????????????????????????????????????????????????????.82
任务 1 搭建 HBase 开发环境 ??????????????????????????????????????????????????????????????????????.83
【任务描述】 ?????????????????????????????????????????????????????????????????????????????????.83
【任务要求】 ?????????????????????????????????????????????????????????????????????????????????.83
【任务实施】 ?????????????????????????????????????????????????????????????????????????????????.83
任务 2 插入并查询数据 ?????????????????????????????????????????????????????????????????????????????.95
【任务描述】 ?????????????????????????????????????????????????????????????????????????????????.95
【任务要求】 ?????????????????????????????????????????????????????????????????????????????????.95
【相关知识】 ?????????????????????????????????????????????????????????????????????????????????.95
4.2.1 HBase Java API 的主要接口与类 ??????????????????????????????????????????.95
4.2.2 使用 HBase Java API 创建命名空间和表 ????????????????????????????????.98
4.2.3 使用 HBase Java API 插入数据 ????????????????????????????????????????????.99
4.2.4 使用 HBase Java API 查询数据 ???????????????????????????????????????????.100
4.2.5 使用 HBase Java API 进行全表查询 ?????????????????????????????????????.101
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.102
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.111
任务 3 查询符合 条件的数据 ????????????????????????????????????????????????????????????????.112
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.112
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.112
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.112
4.3.1 Hbase 过滤器API ???????????????????????????????????????????????????????????.112
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.114
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.120
任务 4 实现 MapReduce 与 HBase 表的集成 ??????????????????????????????????????????????????.120
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.120
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.121
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.121
4.4.1 Hadoop 集群运行 MapReduce 程序 ??????????????????????????????????????.121
4.4.2 将数据导入 Hbase 表中 ????????????????????????????????????????????????????.122
4.4.3 导出 HBase 表中的数据 ???????????????????????????????????????????????????.123
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.123
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.128
项目总结 ????????????????????????????????????????????????????????????????????????????????????????????????.129
课后习题 ????????????????????????????????????????????????????????????????????????????????????????????????.129
项目5 安装与配置Hive 结构化数据仓库 ???????????????????????????????????????????????????????????.131
【教学目标】 ???????????????????????????????????????????????????????????????????????????????????????????.131
【背景描述】 ???????????????????????????????????????????????????????????????????????????????????????????.131
任务 1 安装与配置 Hive ???????????????????????????????????????????????????????????????????????????.132
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.132
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.132
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.132
5.1.1 Hive 的起源与发展 ?????????????????????????????????????????????????????????.132
5.1.2 Hive 与传统数据库的对比 ???????????????????????????????????????????????.132
5.1.3 Hive 的系统架构 ????????????????????????????????????????????????????????????.133
5.1.4 Hive 的工作原理 ????????????????????????????????????????????????????????????.134
5.1.5 安装前的准备工作 ??????????????????????????????????????????????????????????.135
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.135
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.142
任务 2 在 Hive CLI 界面执行 Shell 命令和 dfs 命令 ?????????????????????????????????????????????.143
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.143
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.143
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.143
5.2.1 在文件中执行 Hive 查询 ???????????????????????????????????????????????????.143
5.2.2 在 Hive 中执行 Linux Shell 命令 ?????????????????????????????????????????.145
5.2.3 在 Hive 中使用 Hadoop 的 dfs 命令 ?????????????????????????????????????.146
5.2.4 在 Hive 脚本中进行注释 ???????????????????????????????????????????????????.147
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.148
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.149
项目总结 ????????????????????????????????????????????????????????????????????????????????????????????????.150
课后习题 ????????????????????????????????????????????????????????????????????????????????????????????????.150
项目6 使用Hive 定义优惠券数据 ????????????????????????????????????????????????????????????????????.152
【教学目标】 ???????????????????????????????????????????????????????????????????????????????????????????.152
【背景描述】 ???????????????????????????????????????????????????????????????????????????????????????????.152
任务 1 创建 Hive 表 ?????????????????????????????????????????????????????????????????????????????????.153
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.153
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.153
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.153
6.1.1 Hive 的数据类型 ????????????????????????????????????????????????????????????.153
6.1.2 创建与管理数据仓库 ???????????????????????????????????????????????????????.154
6.1.3 创建表 ?????????????????????????????????????????????????????????????????????????.156
6.1.4 修改表 ?????????????????????????????????????????????????????????????????????????.160
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.161
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.162
任务 2 向Hive 表中导入数据 ?????????????????????????????????????????????????????????????????????.163
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.163
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.163
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.163
6.2.1 导入数据 ??????????????????????????????????????????????????????????????????????.163
6.2.2 导出数据 ??????????????????????????????????????????????????????????????????????.167
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.168
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.169
项目总结 ????????????????????????????????????????????????????????????????????????????????????????????????.170
课后习题 ????????????????????????????????????????????????????????????????????????????????????????????????.170
项目7 使用Hive Shell 实现优惠券消费数据的分析及处理 ?????????????????????????????????????.172
【教学目标】 ???????????????????????????????????????????????????????????????????????????????????????????.172
【背景描述】 ???????????????????????????????????????????????????????????????????????????????????????????.172
任务 1 查询领取了优惠券的用户信息 ??????????????????????????????????????????????????????????.173
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.173
【项目要求】 ????????????????????????????????????????????????????????????????????????????????.173
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.173
7.1.1 select 基本查询 ??????????????????????????????????????????????????????????????.173
7.1.2 limit 结果限制 ????????????????????????????????????????????????????????????????.175
7.1.3 distinct 去重查询 ????????????????????????????????????????????????????????????.176
7.1.4 where 条件查询 ??????????????????????????????????????????????????????????????.176
7.1.5 Hive 内置运算符 ????????????????????????????????????????????????????????????.177
7.1.6 正则表达式 ???????????????????????????????????????????????????????????????????.179
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.180
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.182
任务 2 构建用户标签列 ????????????????????????????????????????????????????????????????????????????.183
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.183
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.183
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.183
7.2.1 case……when……语句的使用 ???????????????????????????????????????????.183
7.2.2 group by 分组查询 ??????????????????????????????????????????????????????????.184
7.2.3 having 条件筛选 ?????????????????????????????????????????????????????????????.185
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.185
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.186
任务 3 构建用户特征字段 ?????????????????????????????????????????????????????????????????????????.187
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.187
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.187
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.187
7.3.1 Hive 内置函数 ???????????????????????????????????????????????????????????????.187
7.3.2 排序查询 ??????????????????????????????????????????????????????????????????????.193
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.193
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.197
任务 4 连接用户特征字段 ?????????????????????????????????????????????????????????????????????????.198
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.198
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.198
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.198
7.4.1 union 结果集合并 ???????????????????????????????????????????????????????????.198
7.4.2 join 连接表数据 ??????????????????????????????????????????????????????????????.200
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.201
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.202
项目总结 ????????????????????????????????????????????????????????????????????????????????????????????????.202
课后习题 ????????????????????????????????????????????????????????????????????????????????????????????????.203
项目8 使用Hive Java API 开发优惠券消费数据分析应用 ??????????????????????????????????????.205
【教学目标】 ???????????????????????????????????????????????????????????????????????????????????????????.205
【背景描述】 ???????????????????????????????????????????????????????????????????????????????????????????.205
任务 1 搭建 Hive 开发环境 ????????????????????????????????????????????????????????????????????????.206
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.206
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.206
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.206
任务 2 编写自定义函数统计优惠券 ???????????????????????????????????????????????????????.212
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.212
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.212
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.213
8.2.1 Hive 自定义函数 ????????????????????????????????????????????????????????????.213
8.2.2 UDF 函数 ?????????????????????????????????????????????????????????????????????.213
8.2.3 UDAF 函数 ???????????????????????????????????????????????????????????????????.217
8.2.4 UDTF 函数 ???????????????????????????????????????????????????????????????????.218
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.220
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.221
任务 3 构建及合并特征字段 ??????????????????????????????????????????????????????????????????????.222
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.222
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.222
【相关知识】 ????????????????????????????????????????????????????????????????????????????????.222
8.3.1 Hive Java API 的主要类 ????????????????????????????????????????????????????.222
8.3.2 执行 SQL 语句的方法 ??????????????????????????????????????????????????????.224
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.225
【任务实训】 ????????????????????????????????????????????????????????????????????????????????.229
项目总结 ????????????????????????????????????????????????????????????????????????????????????????????????.230
课后习题 ????????????????????????????????????????????????????????????????????????????????????????????????.230
项目9 基于HBase 和Hive 的电信运营商用户数据分析实战 ??????????????????????????????????.233
【教学目标】 ???????????????????????????????????????????????????????????????????????????????????????????.233
【背景描述】 ???????????????????????????????????????????????????????????????????????????????????????????.233
任务 1 案例背景和需求分析 ??????????????????????????????????????????????????????????????????????.233
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.233
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.234
【任务实施】 ???????????????????????????????????????????????????????????????????????????????.234
任务 2 数据预处理 ??????????????????????????????????????????????????????????????????????????????????.236
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.236
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.236
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.236
任务 3 用户数据的基本查询 ??????????????????????????????????????????????????????????????????????.240
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.240
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.240
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.240
任务 4 分析用户通话情况 ?????????????????????????????????????????????????????????????????????????.241
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.241
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.242
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.242
任务 5 将 Hive 的数据导入 HBase 中 ???????????????????????????????????????????????????????????.244
【任务描述】 ????????????????????????????????????????????????????????????????????????????????.244
【任务要求】 ????????????????????????????????????????????????????????????????????????????????.244
【任务实施】 ????????????????????????????????????????????????????????????????????????????????.244
项目总结 ????????????????????????????????????????????????????????????????????????????????????????????????.253
附录 大数据组件的常用端口及其说明 ???????????????????????????????????????????????????????????????.254
参考文献 ??????????????????????????????????????????????????????????????????????????????????????????????????????.256