本书包括9个模块,分别为部署数据仓库环境、创建数据仓库文件、管理仓库表中的数据、管理分区表中的数据、分析和导出仓库数据、应用函数统计分析、迁移平台数据方法、调优数据仓库性能、数据仓库应用实战。编者秉持“以提升学生能力为本”的编写理念,基于工作过程导向重构课程体系,采用情景导入式和问题导入式教学模式,联合企业遴选4个不同应用场景的大数据分析项目,设计24个循序渐进的任务,按照“学习目标→任务分析→技术准备→任务实施→任务小结→模块总结→实践创新→检测反馈”结构编写,引导学生“照样做”“模仿做”“独立做”“创新做”。本书既可作为高职高专院校大数据技术专业的教材,又可作为培训机构的教学用书,还可作为大数据技术行业技术人员的参考用书。
王海霞,女,湖南省技术能手,数据库系统工程师,二级技师,湖南省大数据技术专业教学资源库核心成员,全国职业院校技能大赛"优秀指导老师”,主持省级教育教学改革研究项目——"新工科”背景下大数据技术与应用专业交融型课程体系构建研究—以《Hive数据仓库》在线课程为例。
目录
项目模块1 部署数据仓库环境 001
任务1.1 部署Hive系统 002
1.1.1 Hive的系统架构 002
1.1.2 Hive的工作原理 004
1.1.3 Hive和传统数据库的区别 005
1.1.4 检查及配置Hadoop 006
1.1.5 安装和配置Hive 013
1.1.6 配置MySQL存储Hive元数据 015
任务1.2 操作Hive CLI 019
1.2.1 Hive CLI的自动补全功能 019
1.2.2 Hive CLI中命令的格式 019
1.2.3 在Hive CLI中执行Hadoop的dfs命令 020
1.2.4 Hive CLI中的变量和属性 021
1.2.5 使用Hive中的-e(一次使用)命令 026
1.2.6 使用Hive中的-f命令执行脚本 027
1.2.7 设置.hiverc默认配置文件 028
1.2.8 查看操作命令历史 029
模块总结 029
实践创新 030
检测反馈 031
项目模块2 创建数据仓库文件 033
任务2.1 创建数据仓库 034
2.1.1 数据仓库分层 034
2.1.2 数据仓库文件的存储路径 036
2.1.3 数据仓库的创建 036
2.1.4 设计“大数据商业智能选址”项目的数据仓库 038
2.1.5 创建“大数据商业智能选址”项目运营层数据仓库 040
2.1.6 创建“大数据商业智能选址”项目仓库层数据仓库 040
任务2.2 查询和管理数据仓库 041
2.2.1 数据仓库的查询 042
2.2.2 数据仓库的切换 042
2.2.3 数据仓库的查看 043
2.2.4 数据仓库的存储位置 043
2.2.5 查询“大数据商业智能选址”项目的数据仓库的列表 045
2.2.6 查询“大数据商业智能选址”项目的数据仓库的详细信息 046
任务2.3 修改和删除数据仓库 046
2.3.1 数据仓库的修改 047
2.3.2 数据仓库的删除 048
2.3.3 修改“大数据商业智能选址”项目运营层数据仓库的属性 049
2.3.4 修改“大数据商业智能选址”项目仓库层数据仓库的属性 049
2.3.5 删除coursedb数据仓库 050
模块总结 051
实践创新 051
检测反馈 053
项目模块3 管理仓库表中的数据 055
任务3.1 创建数据表 056
3.1.1 Hive中的数据类型 057
3.1.2 表的创建 058
3.1.3 表的管理 062
3.1.4 其他创建表的方式 063
3.1.5 数据表属性 065
3.1.6 数据表存储格式 066
3.1.7 构建“大数据商业智能选址”项目的逻辑模型 068
3.1.8 创建“大数据商业智能选址”项目的ods_site数据仓库的非分
区表 071
3.1.9 创建“大数据商业智能选址”项目的dwd_site数据仓库中的表 075
任务3.2 修改和删除数据表 077
3.2.1 修改表 078
3.2.2 删除表 081
3.2.3 修改“大数据商业智能选址”项目的ods_site数据仓库中的表 083
任务3.3 导入数据到表中 084
3.3.1 使用LOAD DATA语句导入数据 084
3.3.2 使用INSERT...SELECT语句导入数据 087
3.3.3 使用IMPORT语句导入数据 089
3.3.4 使用CTAS语句导入数据 089
3.3.5 使用INSERT INTO TABLE...VALUES语句导入数据 090
3.3.6 将源数据导入“大数据商业智能选址”项目的ods_site数据仓库的
非分区表中 091
模块总结 093
实践创新 094
检测反馈 095
项目模块4 管理分区表中的数据 097
任务4.1 创建和管理分区表 098
4.1.1 创建分区表 098
4.1.2 管理分区表 101
4.1.3 查看分区信息 101
4.1.4 创建“大数据商业智能选址”项目的分区表 103
任务4.2 导入数据到分区表中 106
4.2.1 在静态分区中导入数据 106
4.2.2 在动态分区中导入数据 108
4.2.3 混合使用动态分区和静态分区导入数据 109
4.2.4 将源数据导入“大数据商业智能选址”项目的ods_site数据仓库的
分区表中 111
任务4.3 修改和删除分区 113
4.3.1 添加分区 113
4.3.2 修改分区路径 115
4.3.3 修改分区字段名 116
4.3.4 删除分区 117
4.3.5 修改“大数据商业智能选址”项目的ods_site数据仓库中的
分区表 118
模块总结 120
实践创新 121
检测反馈 122
项目模块5 分析和导出仓库数据 124
任务5.1 分析仓库数据 125
5.1.1 SELECT语句 126
5.1.2 LIMIT子句 130
5.1.3 SELECT嵌套语句 130
5.1.4 CASE分支表达式 131
5.1.5 WHERE子句 132
5.1.6 GROUP BY子句和HAVING子句 136
5.1.7 JOIN连接 140
5.1.8 排序子句 144
5.1.9 分析统计“大数据商业智能选址”项目的DWD层数据 149
5.1.10 分析统计“大数据商业智能选址”项目的DM层已建址银行
要素值 153
5.1.11 分析过滤“大数据商业智能选址”项目的DM层不可建址
区域 158
任务5.2 导出仓库数据 161
5.2.1 使用INSERT...SELECT语句导出数据 161
5.2.2 使用EXPORT语句导出数据 164
5.2.3 使用-e重定向命令导出数据 166
5.2.4 使用dfs -get命令导出数据 166
5.2.5 导出“大数据商业智能选址”项目的dwd_site数据仓库中的
数据 167
模块总结 169
实践创新 170
检测反馈 171
项目模块6 应用函数统计分析 173
任务6.1 应用Hive内置函数 174
6.1.1 初识Hive函数 174
6.1.2 Hive函数的分类 175
6.1.3 聚合函数 176
6.1.4 集合函数 178
6.1.5 数学函数 179
6.1.6 类型转换函数 180
6.1.7 日期函数 181
6.1.8 条件函数 182
6.1.9 字符串函数 184
6.1.10 表生成函数 190
任务6.2 应用Hive自定义函数 191
6.2.1 自定义函数的特点 192
6.2.2 新建Maven项目环境 192
6.2.3 编写UDF的Java代码 194
6.2.4 将UDF部署到Hive环境中 196
6.2.5 应用UDF 198
模块总结 199
实践创新 200
检测反馈 201
项目模块7 迁移平台数据方法 203
任务7.1 部署和配置Sqoop 204
7.1.1 Sqoop介绍 204
7.1.2 Sqoop架构 205
7.1.3 部署Sqoop 206
7.1.4 配置Sqoop 207
任务7.2 应用Sqoop迁移数据 209
7.2.1 Sqoop常用命令 209
7.2.2 Sqoop数据迁移方式 210
7.2.3 将Hive表数据迁移到MySQL中 211
7.2.4 将MySQL表数据迁移到Hive中 214
模块总结 220
实践创新 220
检测反馈 221
项目模块8 调优数据仓库性能 224
任务8.1 调优Hive参数 225
8.1.1 配置本地模式 225
8.1.2 配置严格模式 227
8.1.3 配置动态分区 228
8.1.4 配置并行执行 229
8.1.5 配置Fetch抓取 229
8.1.6 配置合并文件 230
任务8.2 调优Hive存储 231
8.2.1 调优文件存储 232
8.2.2 调优数据压缩 232
任务8.3 调优HiveQL语句 234
8.3.1 配置列裁剪 235
8.3.2 配置分区裁剪 235
8.3.3 配置MapJoin 236
8.3.4 配置GROUP BY 236
8.3.5 调优表设计 237
模块总结 237
实践创新 238
检测反馈 239
项目模块9 数据仓库应用实战 241
任务9.1 设计数据仓库 242
9.1.1 分析原始数据格式 242
9.1.2 创建数据仓库及数据表 245
任务9.2 导入数据到联通运营商数据仓库中 248
9.2.1 导入数据 249
9.2.2 验证导入结果 249
任务9.3 清洗联通运营商数据 251
9.3.1 删除重复数据 251
9.3.2 处理缺失值 253
9.3.3 衍生新指标 255
9.3.4 删除无效字段 256
9.3.5 归集数据 256
任务9.4 统计分析联通运营商数据 259
9.4.1 统计用户的年龄情况 259
9.4.2 统计用户的发展渠道 260
9.4.3 统计不同活动类型的用户数量 261
9.4.4 统计用户使用短信情况 261
模块总结 262
实践创新 263
检测反馈 264
附录A “大数据智慧旅游”产品的背景 266
附录B “大数据智慧旅游”项目的背景 270
附录C “大数据智慧旅游”项目的数据处理流程 272
附录D “大数据智慧旅游”项目的逻辑模型设计 274