简书精品苑楚天牧歌简书专辑诗词集文原创基地

hive的高阶函数

2019-05-21  本文已影响9人  小小毛同学

问题:

1,如果让你计算5月21号这个日期前3天到后面3天的数据和?(不只是5月21号这一天,所有天的前3天加上后3天的和)

2,对于组内排序的顺序问题?(值相等的时候,排序也相等或是跳过)

解决方法:

针对第一种情况:

需要使用hive的ROWS BETWEEN函数,也叫做WINDOW函数

其中SUM、AVG、MIN、MAX。用于实现分组内所有和连续累积的统计。

如果不指定ROWS BETWEEN,默认为从起点到当前行;

如果不指定ORDER BY,则将分组内所有值累加;

关键是理解ROWS BETWEEN含义,也叫做WINDOW子句:

PRECEDING:往前

FOLLOWING:往后

CURRENT ROW:当前行

UNBOUNDED:起点,UNBOUNDED PRECEDING 表示从前面的起点, UNBOUNDED FOLLOWING:表示到后面的终点

–其他AVG,MIN,MAX,和SUM用法一样。

针对第二种情况

以上内容转再来自http://lxw1234.com/archives/2015/07/367.htm

上一篇下一篇

猜你喜欢

热点阅读