Hive案例总结

    科技2022-07-12  133

    Hive案例总结:

    处理日期的两种方式: substring(orderdate,1,7) = ‘2017-04’year(orderdate) = 2017 and month(orderdate) = 04

    不能写windows字句的函数:

    所有的排名函数last_valuefirst_value

    两种特殊情况

    当指定ORDER BY缺少WINDOW子句时,WINDOW规范默认为RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW。

    如果同时缺少ORDER BY和WINDOW子句,则WINDOW规范默认为ROW BETWEENUND UNBOUNDED PRECEDING和UNBOUNDED FOLLOWING。

    以下函数在over()里面只能分区和排序,不能自定义窗口大小了,也就是不能再写window字句

    排序分析函数 都不能写 例如: Rank, NTile, DenseRank, CumeDist, PercentRank.

    Lead 和 Lag不能写

    排名函数

    RANK() 排序相同时会重复,会跳号

    DENSE_RANK() 排序相同时会重复,不会跳号

    ROW_NUMBER() 会根据顺序计算

    FIRST_VALUE (col,true/false):当前窗口下的第一个值,第二个参数为true,跳过空值 LAST_VALUE (col,true/false):当前窗口下的最后一个值,第二个参数为true,跳过空值 NTILE(n):把有序窗口的行分发到指定数据的组中,各个组有编号,编号从1开始,对于每一行,NTILE返回此行所属的组的编号。注意:n必须为int类型。

    Processed: 0.012, SQL: 8