一、实战概述
-
本次实战以Apache Hive数据仓库工具为核心,通过处理存储在HDFS上的学生信息表实现数据排序操作。首先,创建并上传包含8条记录的学生表数据至HDFS的指定目录,每条记录由姓名、性别、年龄、手机和专业五个字段组成。随后,启动Hive Metastore服务与客户端,并基于HDFS上的文本文件建立了一个外部表
t_student
。 -
在实战任务中,主要运用Hive SQL进行数据查询与排序。首先展示了如何按年龄降序排列学生信息,直观展示了Hive对大规模结构化数据的强大处理能力。此外,还进行了拓展练习,演示了更为复杂的排序需求,即先按性别升序再按年龄降序排序学生信息。
-
整个实战过程通过实际操作详细解析了从数据准备、到使用Hive进行数据建模、再到执行SQL查询及排序的一系列步骤,旨在帮助学习者深入理解并掌握Hive在大数据处理场景中的应用,特别是在数据查询、分析与排序方面的功能与优势。
二、提出任务
- 学生表,包含五个字段(姓名、性别、年龄、手机、专业),有8条记录
姓名 | 性别 | 年龄 | 手机 | 专业 |
---|---|---|---|---|
李文丽 | 女 | 19 | 15892943440 | 大数据应用 |
张三丰 | 男 | 20 | 15890903456 | 人工智能应用 |
郑晓琳 | 女 | 18 | 18867890234 | 软件技术 |
唐宇航 | 男 | 22 | 15856577890 | 计算机应用 |
陈燕文 | 女 | 21 | 13956576783 | 软件技术 |
童安格 | 男 | 19 | 15889667890 | 大数据应用 |
肖雨涵 | 男 | 20 | 15857893452 | 软件技术 |
冯晓华 | 女 | 18 | 18856784560 | 大数据应用 |
- 使用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
对应的记录
文章来源:https://www.toymoban.com/news/detail-785483.html -
查看学生表全部记录,执行语句:
select * from t_student;
文章来源地址https://www.toymoban.com/news/detail-785483.html
4、利用Hive SQL实现按年龄降序排列
- 执行语句:
select * from t_student order by age desc;
四、拓展练习
任务:学生信息排序,先按性别升序,再按年龄降序
- 运行结果,如下图所示
到了这里,关于Hive实战:学生信息排序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!