文章目录
一、实战概述
- 本次实战以Apache Hive数据仓库工具为核心,通过处理存储在HDFS上的学生信息表实现数据排序操作。首先,创建并上传包含8条记录的学生表数据至HDFS的指定目录,每条记录由姓名、性别、年龄、手机和专业五个字段组成。随后,启动Hive Metastore服务与客户端,并基于HDFS上的文本文件建立了一个外部表
t_student
。 - 在实战任务中,主要运用Hive SQL进行数据查询与排序。首先展示了如何按年龄降序排列学生信息,直观展示了Hive对大规模结构化数据的强大处理能力。此外,还进行了拓展练习,演示了更为复杂的排序需求,即先按性别升序再按年龄降序排序学生信息。
- 整个实战过程通过实际操作详细解析了从数据准备、到使用Hive进行数据建模、再到执行SQL查询及排序的一系列步骤,旨在帮助学习者深入理解并掌握Hive在大数据处理场景中的应用,特别是在数据查询、分析与排序方面的功能与优势。
二、提出任务
学生表,包含五个字段(姓名、性别、年龄、手机、专业),有8条记录
姓名性别年龄手机专业李文丽女1915892943440大数据应用张三丰男2015890903456人工智能应用郑晓琳女1818867890234软件技术唐宇航男2215856577890计算机应用陈燕文女2113956576783软件技术童安格男1915889667890大数据应用肖雨涵男2015857893452软件技术冯晓华女1818856784560大数据应用使用Hive计算框架,学生信息按年龄降序排列结果
三、完成任务
(一)准备数据
1、在虚拟机上创建文本文件
- 在master虚拟机上创建
student.txt
文件
2、上传文件到HDFS指定目录
- 创建
/sortstudent/input
目录,执行命令:hdfs dfs -mkdir -p /sortstudent/input
- 将文本文件
student.txt
上传到HDFS的/sortstudent/input
目录
(二)实现步骤
1、启动Hive Metastore服务
- 执行命令:
hive --service metastore &
,在后台启动metastore
服务
2、启动Hive客户端
- 执行命令:
hive
,看到命令提示符hive>
3、基于HDFS数据文件创建Hive外部表
- 创建外部表
t_student
,执行命令: create external table t_student ( name string, gender string, age int, phone string, major string ) row format delimited fields terminated by ' ' location '/sortstudent/input';
- 在MySQL的
hive
数据库的TBLS
表里可以查看外部表t_student
对应的记录 - 查看学生表全部记录,执行语句:
select * from t_student;
4、利用Hive SQL实现按年龄降序排列
- 执行语句:
select * from t_student order by age desc;
四、拓展练习
任务:学生信息排序,先按性别升序,再按年龄降序
- 运行结果,如下图所示
版权归原作者 howard2005 所有, 如有侵权,请联系我们删除。