hive 函数(内置函数、日期函数、窗口函数、自定义函数UDF)

本文详细介绍了Hive中的order by, sort by, distribute by, cluster by的区别与使用场景,以及Hive的内置函数,包括日期函数、SQL中的distinct和group by、case when、窗口函数ROW_NUMBER、RANK、DENSE_RANK、LEAD等。此外,还探讨了自定义函数UDF的开发和使用,包括如何在Hive和Spark中使用UDF。" 133153066,19991387,使用NumPy构建CNN进行计算机视觉,"['计算机视觉', '深度学习', 'numpy', '卷积神经网络', '图像处理']

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

一、hive中  order by,  sort by, distribute by, cluster by 

1. order by

         Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的数据都会到同一个reducer进行处理(不管有多少map,也不管文件有多少的block只会启动一个reducer)。但是对于大量数据这将会消耗很长的时间去执行。 


2. sort by

        Hive中指定了sort by,那么在每个reducer端都会做排序,也就是说保证了局部有序(每个reducer出来的数据是有序的,但是不能保证所有的数据是有序的,除非只有一个reducer),好处是:执行了局部排序之后可以为接下去的全局排序提高不少的效率(其实就是做一次归并排序就可以做到全局排序了)。

SELECT key, value FROM src SORT BY key ASC, value DESC 
查询有两个reduce,查询结果如下:  
0   3 
3   6 
9   1
-------
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四月天03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值