Hive实战:学生信息排序

2024-01-03 19:58:23

一、实战概述

  • 本次实战以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;
    在这里插入图片描述

四、拓展练习

任务:学生信息排序,先按性别升序,再按年龄降序

  • 运行结果,如下图所示
    在这里插入图片描述

文章来源:https://blog.csdn.net/howard2005/article/details/135370242
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。