本次实战以Apache Hive数据仓库工具为核心,通过处理存储在HDFS上的学生信息表实现数据排序操作。首先,创建并上传包含8条记录的学生表数据至HDFS的指定目录,每条记录由姓名、性别、年龄、手机和专业五个字段组成。随后,启动Hive Metastore服务与客户端,并基于HDFS上的文本文件建立了一个外部表t_student
。
在实战任务中,主要运用Hive SQL进行数据查询与排序。首先展示了如何按年龄降序排列学生信息,直观展示了Hive对大规模结构化数据的强大处理能力。此外,还进行了拓展练习,演示了更为复杂的排序需求,即先按性别升序再按年龄降序排序学生信息。
整个实战过程通过实际操作详细解析了从数据准备、到使用Hive进行数据建模、再到执行SQL查询及排序的一系列步骤,旨在帮助学习者深入理解并掌握Hive在大数据处理场景中的应用,特别是在数据查询、分析与排序方面的功能与优势。
姓名 | 性别 | 年龄 | 手机 | 专业 |
---|---|---|---|---|
李文丽 | 女 | 19 | 15892943440 | 大数据应用 |
张三丰 | 男 | 20 | 15890903456 | 人工智能应用 |
郑晓琳 | 女 | 18 | 18867890234 | 软件技术 |
唐宇航 | 男 | 22 | 15856577890 | 计算机应用 |
陈燕文 | 女 | 21 | 13956576783 | 软件技术 |
童安格 | 男 | 19 | 15889667890 | 大数据应用 |
肖雨涵 | 男 | 20 | 15857893452 | 软件技术 |
冯晓华 | 女 | 18 | 18856784560 | 大数据应用 |
student.txt
文件创建/sortstudent/input
目录,执行命令:hdfs dfs -mkdir -p /sortstudent/input
将文本文件student.txt
上传到HDFS的/sortstudent/input
目录
hive --service metastore &
,在后台启动metastore
服务hive
,看到命令提示符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;
select * from t_student order by age desc;