Hive实战:学生信息排序

本文详细介绍了如何使用ApacheHive对HDFS上的学生信息表进行数据排序,包括创建外部表、上传数据、查询与排序(按年龄降序和性别升序),旨在帮助读者理解Hive在大数据场景中的应用和功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实战概述

在这个实战中,我们将使用Apache Hive作为数据仓库工具来对存储在HDFS上的学生信息表进行排序操作。下面是详细的步骤:

  1. 创建并上传学生表数据至HDFS:首先,创建一个包含8条记录的学生表数据,每条记录包含姓名、性别、年龄、手机和专业五个字段。然后,将这些数据上传到HDFS的指定目录。

  2. 启动Hive Metastore服务与客户端:启动Hive Metastore服务,该服务用于存储Hive的元数据信息。然后,启动Hive客户端,以便我们可以与Hive交互。

  3. 建立外部表t_student:基于HDFS上的文本文件,我们可以通过Hive SQL语句创建一个外部表t_student,该表可以直接在Hive中访问HDFS上的数据。

  4. 进行数据查询与排序:使用Hive SQL进行数据查询与排序。首先,我们可以按照年龄降序排列学生信息,以展示Hive在处理大规模结构化数据方面的能力。此外,我们还可以进行更复杂的排序需求,例如按照性别升序再按照年龄降序排序学生信息。

通过完成以上步骤,您将能够深入理解并掌握Hive在大数据处理场景中的应用,特别是在数据查询、分析与排序方面的功能与优势。

二、提出任务

  • 使用Hive计算框架,学生信息按年龄降序排列结果
姓名性别年龄手机专业
李文丽1915892943440大数据应用
张三丰2015890903456人工智能应用
郑晓琳1818867890234软件技术
唐宇航2215856577890计算机应用
陈燕文2113956576783软件技术
童安格1915889667890大数据应用
肖雨涵2015857893452软件技术
冯晓华1818856784560大数据应用

三、完成任务

(一)准备数据

  • 启动hadoop服务
    在这里插入图片描述

1、在虚拟机上创建文本文件

  • 创建sortstudent目录,在里面创建student.txt文件
    在这里插入图片描述

2、上传文件到HDFS指定目录

  • 创建/sortstudent/input目录,执行命令:hdfs dfs -mkdir -p /sortstudent/input
    在这里插入图片描述

  • 将文本文件student.txt,上传到HDFS的/sortstudent/input目录,执行命令:hdfs dfs -put student.txt /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;
    在这里插入图片描述

四、拓展练习

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值