#6/20/24 增加greatest函数:
select greatest(1,2,3,4,5,2)
结论:可以用hive presto spark得出正确的结果值
#6/20/24 增加last_value(cl1) ignore nulls over(order by ts ) as dt 函数:
有数据集:
1 | 1 | 1 |
2 | 2 |
|
3 | 3 |
|
4 | 4 | 3 |
5 | 5 | 5 |
6 | 6 |
|
需要把C2为空的值填充成上一行不为空的值
结果应该看起来是如下(黄色部分为程序添加内容):
序号 | c1 | c2 |
1 | 1 | 1 |
2 | 2 | 1 |
3 | 3 | 1 |
4 | 4 | 3 |
5 | 5 | 5 |
6 | 6 | 5 |
presto 程序:
select
c1,c2,last_value(c2) ignore nulls over(order by c1) as new_c2
from jdt_dev.ccc_xx order by c1
结果值:
序号 | c1 | c2 | new_c2 |
1 | 1 | 1 | 1 |
2 | 2 | 1 | |
3 | 3 | 1 | |
4 | 4 | 3 | 3 |
5 | 5 | 5 | 5 |
6 | 6 | 5 |
spark 程序 运行会有相同以上的结果:
select
c1,c2,last_value(c2,true) over(order by c1) as new_c2
from jdt_dev.ccc_xx order by c1