本书包括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