Hive实战:学生信息排序

本文介绍了如何在HadoopHDFS中操作,包括创建文本文件、上传文件,以及如何使用Hive创建外部表并进行按年龄降序和性别升序的排序。详细步骤包括启动Hive服务、创建Hive外部表并执行SQL查询。
摘要由CSDN通过智能技术生成

一、实战概述

二、提出任务

  • 学生表,包含五个字段(姓名、性别、年龄、手机、专业),有8条记录
姓名性别年龄手机专业
李文丽1915892943440大数据应用
张三丰2015890903456人工智能应用
郑晓琳1818867890234软件技术
唐宇航2215856577890计算机应用
陈燕文2113956576783软件技术
童安格1915889667890大数据应用
肖雨涵2015857893452软件技术
冯晓华1818856784560大数据应用

三、完成任务

(一)准备数据

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对应的记录

  • 进入MySQL,先执行use metastore命令
    在这里插入图片描述

  • 在MySQL的hive数据库的TBLS表里可以查看外部表t_student对应的记录

  • 执行命令: select TBL_ID, DB_ID, TBL_NAME, TBL_TYPE from TBLS where TBL_NAME = 't_student';
    在这里插入图片描述

  • 查看学生表全部记录,执行命令:select * from t_student;
    在这里插入图片描述

4、利用Hive SQL实现按年龄降序排列

  • 执行命令:select * from t_student order by age desc;
    在这里插入图片描述

四、拓展练习

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

  • 运行结果,如下图所示
  • 执行命令: select * from t_student order by gender ,age desc;
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值