【发布时间】:2016-10-09 19:33:20
【问题描述】:
我有一个 Pair RDD,它由 (Key, (Timestamp,Value)) 条目组成。
读取数据的时候,entry是按照timestamp排序的,所以RDD的每个partition都要按照timestamp排序。我想要做的是,为每个键找到 2 个连续时间戳之间的最大差距。
我现在考虑这个问题很久了,鉴于 sparks 提供的功能,我不知道如何实现。我看到的问题是:我在做一个简单的地图时丢失了订单信息,所以这是不可能的。在我看来,groupByKey 失败也是因为特定键的条目太多,尝试这样做会给我一个java.io.IOException: No space left on device
任何有关如何解决此问题的帮助都会非常有帮助。
【问题讨论】:
-
按键和时间戳排序。然后是数据的线性传递。
-
我可能不会在 Spark 中这样做。本质上是线性传递的东西不太适合 Spark。您可能可以转换为 DF 并使用 windows,但我从未这样做过。 cran.r-project.org/web/packages/dplyr/vignettes/… 看起来很相关
-
@TheArchetypalPaul 你能给我指出一个更合适的流行技术吗
标签: algorithm scala apache-spark