当前位置:  开发笔记 > 编程语言 > 正文

scala引发了如何获得最新一天的记录

如何解决《scala引发了如何获得最新一天的记录》经验,为你挑选了1个好方法。

我认为最好的方法是输入数据映射到的元组的RDD (user, (date, item1, item2))所以RDD会userRdd: RDD[(Int, (Date, Int, Double))]

从这里你可以创建一个reducer,它将采用两个元组并生成另一个相同的格式,即具有更大日期值的元组:

reduceMaxDate(a: (Date, Int, Double), b: (Date, Int, Double)) : (Date, Int, Double) = {
     if(a._1 > b._1) a else b
} 

在这里,您可以通过以下方式找到每个用户的最大值:

userRdd.reduceByKey(reduceMaxDate).

这将产生具有每个用户的最大时间戳的元组.



1> David Maust..:

我认为最好的方法是输入数据映射到的元组的RDD (user, (date, item1, item2))所以RDD会userRdd: RDD[(Int, (Date, Int, Double))]

从这里你可以创建一个reducer,它将采用两个元组并生成另一个相同的格式,即具有更大日期值的元组:

reduceMaxDate(a: (Date, Int, Double), b: (Date, Int, Double)) : (Date, Int, Double) = {
     if(a._1 > b._1) a else b
} 

在这里,您可以通过以下方式找到每个用户的最大值:

userRdd.reduceByKey(reduceMaxDate).

这将产生具有每个用户的最大时间戳的元组.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有