首页 > 其他分享 >Hive学习笔记:多列求最大值、最小值

Hive学习笔记:多列求最大值、最小值

时间:2023-10-23 15:24:28浏览次数:34  
标签:-- age Hive 最小值 least 多列 最大值 select

一、最大值

当在 Hive 中需要对多列数据求最大值时,可以使用函数 greatest(a, b, c, d) 实现。

select greatest(a, b, c) from 
(
	select 10 as a, 
           20 as b, 
           30 as c
) dd;
-- 结果:30

举个具体栗子:计算用户消费时,如果用户套餐有最低消费129元的话,不满129则按129收费,则计算为:greatest(ARPU, 129)

二、最小值

同理,求多列最小值可使用函数 least(a, b, c, d) 实现。

-- 例子一
select least(a, b, c) from 
(
	select 10 as a, 
           20 as b, 
           30 as c
) dd
-- 结果:10

-- 例子二
select least(a, b, c, d) from 
(
	select 10 as a, 
           20 as b, 
           30 as c,
           null as d
) dd;
-- 结果:null

注意:关注列中的空值 NULLgreatestleast 会判断空值为最大、最小,导致出错。

使用两个函数时,注意需要同样类型的数据,才可进行比较。

三、max和min

取某一列的最大、最小值,可以使用 maxmin 函数实现。

select max(age) as age_max,
       min(age) as age_min
from age_table;

参考链接:hive sql 多行值取最大值、最小值

参考链接:hive中取最大值最小值的函数

标签:--,age,Hive,最小值,least,多列,最大值,select
From: https://www.cnblogs.com/hider/p/17782542.html

相关文章

  • 农业全要素生产率的计算(使用HiveQL分析)
    需求:工作中需要计算农业全要素生产率数据,需要利用HiveQL进行数据仓库提取,然后进行转换式计算,最后需要进行要素生产效率分析,用于后续的深度数据挖掘。解决:CREATETABLEIFNOTEXISTSmytable( col1STRING, col2INT, col3DOUBLE)ROWFORMATDELIMITEDFIELDSTERMIN......
  • 报错Failed to execute spark task, with exception 'org.apache.hadoop.hive.ql.meta
    在执行hive on spark的时候 上面的错误可能有以下几种问题:1.版本问题 不匹配2.时间参数问题  设置的参数太小了3.在hive-site.xml文件中没有配置spark的home我的问题属于第一个问题导致没有跑成功当时也在想是不是内存出现了问题 ......
  • hive表加字段
    hive原表结构hive表加新字段interface_typealtertabletest.test_tableaddcolumns(interface_typestring);hive表新表结构......
  • dremio hive 连接
    dremio对于hive的连接实际上有两种方法,一种使用的是hive的metastore,一种是使用的hivejdbcserver第一中是官方支持的,第二种官方缺少直接的支持,需要自己开发相关的arp扩展一些参考实现cdata目前提供了一个开源实现,但是jdbc驱动使用的是自己的,实际上这个我们可以调整为h......
  • pyspark 连接hive
    pyspark连接hive想要spark能够连接上hive,就需要将hive的一些配置文件放到spark中,让spark可以通过配置文件中的metastore.uris找到hive的元数据库,从而访问hive.1.将hive的conf文件夹下的hive-site.xml,复制到本地spark的conf文件夹中:2.将hive的lib文件夹下的mysql连接包mysql-co......
  • HBase-通过外部表将Hive数据写入到HBase
    a)准备测试数据这里准备的csv文件data_test.csv,内容没用''包裹,逗号作为列分隔符171301,燕青,男,27,发展部171207,武松,男,39,开发部171307,李逵,男,41,开发部320812,宋江,男,45,战略部321009,顾大嫂,女,38,后勤部171312,卢俊义,男,43,发展部  b)hbase创建表creat......
  • 关于Hive的常用HiveQL操作
    创建hive数据仓库:createtabledocs(linestring); 从hdfs上传文件到数据库:loaddatainpath'file:///usr/local/hadoop/input'overwriteintotabledocs;根据词汇查询词汇数量:createtableword_countasselectword,count(1)ascountfrom(selectexplode(s......
  • BitBake使用攻略--BitBake的语法知识二(转载自https://www.cnblogs.com/chegxy/archive
    目录写在前面1.BitBake中的任务2.任务配置2.1依赖2.1.1内部任务间的依赖2.1.2不同菜谱下的任务间依赖2.1.3运行时态下的依赖2.1.4递归依赖2.1.5任务间的依赖2.2事件2.3校验和3.ClassExtensionMechanism 写在前面这是《BitBake使用攻略》系......
  • 终于知道如何利用hive的日期转换函数进行日期格式的清洗啦~(之前用的外部数据清洗)
    1、创建合适格式的表result10createtableresult10(ipString,time1String,dayString,trafficString,typeString,idString)rowformatdelimitedfieldsterminatedby','storedastextfile;2、将txt文件的数据插入到表中:loaddatalocalinpath'/data/resul......
  • hive大数据测试(时间数据清洗UDF打包到hive中调用自定义函数,hive表数据导出到本机)
    1.数据清洗pom依赖:<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding&......