【Hadoop实训】Hive 数据操作②

延续上一篇文章,不懂的宝子们请看以下链接:

【Hadoop实训】Hive 数据操作①-CSDN博客


目录

一、Group by 语句

        (1)、计算emp表每个部门的平均工资

        (2)、计算emp表每个部门中每个岗位的最高工资

二、Having 语句

        (1)、求每个部门的平均工资

        (2)、求每个部门的平均工资大于22000的部门

 三、Order by 语句

        (1)、查询员工信息,按工资降序排列

        (2)、按照部门和工资升序排序

四、Sort by语句

        (1)、设置reduce个数

        (2)、查看设置reduce个数

        (3)、根据部门编号降序查看员工信息

        (4) 、将在询结果导入到文件中(按照部门编号降序排序)

五、Distribute by

六、Cluster by

七、Join 操作

        (1) 、根据员工表和部门表中的部门编号相等,查询员工编号、员工名称和部门编号:

        (2)、左外连接

        (3)、右外连接

        (4)、满外连接


一、Group by 语句

        (1)、计算emp表每个部门的平均工资

select t.deptno,avg(t.sal) avg_ sal from emp t group by t.deptno;

        (2)、计算emp表每个部门中每个岗位的最高工资

select t.deptno, t.job,max(t.sal) max_sal from emp t group by t.deptno, t.job;

二、Having 语句

        (1)、求每个部门的平均工资

select deptno,avg(sal) from emp group by deptno;

        (2)、求每个部门的平均工资大于22000的部门

select deptno,avg(sal) avg_sal from emp group by deptno having avg_sal >2000;

 三、Order by 语句

        (1)、查询员工信息,按工资降序排列

select * from emp order by sal desc;

        (2)、按照部门和工资升序排序

select ename, deptno, sal from emp order by deptno,sal;

四、Sort by语句

        (1)、设置reduce个数

set mapreduce.job.reduces=3;

        (2)、查看设置reduce个数

set mapreduce.job.reduces;

        (3)、根据部门编号降序查看员工信息

select * from emp sort by empno desc;

        (4) 、将在询结果导入到文件中(按照部门编号降序排序)

insert overwrite local directory '/root/sortby-result' select * from emp  sort by deptno desc;

五、Distribute by

六、Cluster by

        以下两种写法等价:

select * from emp cluster by deptno;

select * from emp distribute by deptno sort by deptno;

七、Join 操作

        (1) 、根据员工表和部门表中的部门编号相等,查询员工编号、员工名称和部门编号:

select e.empno, e.ename,d.deptno,d.dname from emp e join dept d on e.deptno=d.deptno;

        (2)、左外连接

Join操作符左边表中符合条件的所有记录将会被返回。

select e.empno, e.ename,d.deptno,d.dname from emp e left join dept d on e.deptno=d.deptno;

        (3)、右外连接

Join操作符右边表中符合条件的所有记录将会被返回。

select e.empno, e.ename,d.deptno,d.dname from emp e right join dept d on e.deptno=d.deptno;

        (4)、满外连接

        返回所有表中符合条件的所有记录,如果任一-表的指定字段没有符合条件的值的话,那么就使用NULL值替代。

select e.empno, e.ename,d.deptno,d.dname from emp e full join dept d on e.deptno=d.deptno;

在使用Join语句时,如果想限制输出结果,可以在Join语句后面添加Where语句,进行过滤。

select e.empno, e.ename,d.deptno,d.dname from emp e full join dept d on e.deptno=d.deptno where d.deptno=20;

学习到这里就完结啦~不懂的宝子请私信哦! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/472805.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vulhub漏洞复现---solr---CVE-2019-17558

漏洞描述 Apache Solr 5.0.0到Apache Solr 8.3.1容易受到通过VelocityResponseWriter执行的远程代码的攻击。Velocity模板可以通过configset ’ Velocity / 目录中的Velocity模板或作为参数提供。用户定义的configset可以包含可呈现的、潜在的恶意模板。参数提供的模板在默认情…

ADS学习笔记 5. 微带天线设计

基于ADS2023 update2 参考书籍:卢益锋老师《ADS射频电路设计与仿真学习笔记》 更多笔记:ADS学习笔记 1. 功率放大器设计ADS学习笔记 2. 低噪声放大器设计ADS学习笔记 3. 功分器设计ADS学习笔记 4. 微带分支定向耦合器设计 目录 0、设计指标 1、微带…

【JAVA】使用IDEA创建maven聚合项目

【JAVA】使用IDEA创建maven聚合项目 1.效果图 2.创建父模块项目 2.1删除父模块下面的src目录以及不需要的maven依赖 3创建子模块项目 3.1右击父模块项目选择Module… 3.2创建子模块 3.3删除子模块下不需要的maven依赖 4.子模块创建完成后引入SpringBoot依赖启动项目

一文详细深入总结服务器选型

1. 题记: 服务器选型工作是项目规划检讨的一项非常重要的工作,本文详细深入总结服务器选型。 2. 服务器基础知识概览 2.1 服务器的定义与功能 2.1 .1 定义 服务器是一种高性能计算机,其设计目的是在网络中提供服务。它可以处理来自多个客…

如何编译 Cesium 源码

如何编译 Cesium 源码 Cesium 是一个开源的 JavaScript 库,用于构建 3D 地球和地图应用程序。它提供了一套强大的 API 和工具,使开发者能够创建丰富的地理空间应用。本文将指导您如何从 GitHub 下载 Cesium 源码,并在本地进行编译。 TilesB…

车载诊断架构 --- 关于DTC的开始检测条件

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。…

AI大模型(一):Prompt AI编程

一、Prompt Engineering,提示工程 提示工程也叫指令工程: Prompt是发给大模型的指令,比如【讲个睡前故事】、【用Python写个消消乐游戏】等;本质上大模型相关的工程工作,都是围绕prompt展开的;提示工程门…

如何在 Ubuntu 上安装 Jellyfin 媒体服务器

Jellyfin 是一个开源的媒体服务器软件,让你可以整理、管理和流式传输你的个人媒体收藏,比如电影、音乐、电视节目和照片,而且完全免费,没有订阅费用或数据收集的担忧。 简介 媒体管理:Jellyfin 整理媒体库&#xff0…

数据结构(初阶4)---循环队列详解

循环队列 1.循环队列的结构  1).逻辑模式 2.实现接口  1).初始化  2).判断空和满  3).增加  4).删除  5).找头  6).找尾 3.循环队列的特点 1.循环队列的结构 1).逻辑模式 与队列是大同小异的, 其中还是有一个指向队列头的head指针, 也有一个指向尾…

Qwen2.5-Coder-32B-Instruct Docker 部署openai接口

Qwen2.5-Coder-32B-Instruct 模型下载,国内快捷方式: conda create -n modelscope python=3.10 conda activate modelscopepip install modelscopemodelscope download --model Qwen/Qwen2.5-Coder-32B-Instruct --local_dir /ssd/xiedong/Qwen/Qwen2.5-Coder-32B-I

图形几何之美系列:二维凸包艺术赏析

“凸包是计算几何中的概念,凸包在多个领域中有广泛的应用,主要包括几何计算、图形处理、优化问题、路径规划等。” 1.前言 凸包话题包括二维凸包、三维凸包以及高维凸包。对于平面点集,探究如何构造可以覆盖给定点集最小的凸多边形&#xff1…

速通前端篇 —— HTML

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:速通前端 目录 HTML的介绍 如何创建HTML文件 HTML 文件基本结构 HTML常用标签 title标签 标题标签 h1-h6 段落标签 p 换行标签 b…

shell编程--永久环境变量和字符串显位

环境变量 echo $HOME 在终端输出后会显示家目录有个root变量 我们会提出个疑问为什么平时我们在终端输入sl 或者which等等命令会输出一些内容呢,这是因为这些命令都有对应的环境变量。 我们查看一下环境变量 在终端输入: echo $PATH 我们看一下输出…

Python毕业设计选题:基于django+vue的二手物品交易系统

开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 店铺管理 二手物品管理 广告管理 留言反馈 订单…

Spring:bean的配置

对于bean的配置中,主要会讲解bean基础配置,bean的别名配置,bean的作用范围配置(重点),这三部分内容: bean基础配置 id与class配置 bean的name属性 bean的别名配置 bean作用范围scope配置 scope使用后续思考 介绍完scope属性以后,我们…

前端无感刷新token

摘要: Axios 无感知刷新令牌是一种在前端应用中实现自动刷新访问令牌(access token)的技术,确保用户在进行 API 请求时不会因为令牌过期而中断操作 目录概览 XMLHttpRequestAxiosFetch APIJQuni.request注意事项: 访问…

图形 2.6 伽马校正

伽马校正 B站视频:图形 2.6 伽马校正 文章目录 伽马校正颜色空间传递函数 Gamma校正校正过程为什么需要校正?CRT与转换函数 为什么sRGB在Gamma 0.45空间? 人对亮度的敏感韦伯定律中灰值 线性工作流不在线性空间下进行渲染的问题统一到线性空…

【redis】—— 环境搭建教程

上一节,我们大致了解了Redis的几个重要版本,在本教程中,我们选择了5.0版本,因为5.0已经具备了大部分的功能特性,并且与7.0版本相比,其安装使用过程更为简便。 Redis的官方并不直接支持微软的Windows操作系统…

Springboot采用jasypt加密配置

目录 前言 一、Jasypt简介 二、运用场景 三、整合Jasypt 2.1.环境配置 2.2.添加依赖 2.3.添加Jasypt配置 2.4.编写加/解密工具类 2.5.自定义加密属性前缀和后缀 2.6.防止密码泄露措施 2.61.自定义加密器 2.6.2通过环境变量指定加密盐值 总结 前言 在以往的多数项目中&#xff0…

【机器学习导引】ch6-支持向量机

参考链接 【数之道】支持向量机SVM是什么,八分钟直觉理解其本质 间隔与支持向量 **问题引入:**在样本空间中寻找一个超平面,将不同类别的样本分类 超平面:在支持向量机中,模型的目标是找到一个能够分开不同类别的平…