美文网首页
spark last first函数的坑

spark last first函数的坑

作者: Gilegamesh | 来源:发表于2020-10-15 10:06 被阅读0次

某天一个需求需要用上spark sql的内置function, first跟last。心想只要把数据按某个字段提前排序,再分组取出first跟last值就没问题。

结果却是测试中每次运行first跟last值却飘忽不定,每次运行结果都不一样。遂去看了下源码注解:

竟然说结果在shuffle之后会导致不确定性。这个本来就是聚合函数,肯定会触发shuffle。这可就尴尬了。。。。。

废话不多说,只能自己实现了。

udf是解决输入一行输出一行

udaf是解决输入多行输出一行

udtf是解决输入一行输出多行

那自然就是实现udaf了。

上代码:

这个实现必须是按特定字段排序,然后求分组内的第一个值的需求。

相关文章

网友评论

      本文标题:spark last first函数的坑

      本文链接:https://www.haomeiwen.com/subject/oglzvttx.html