【发布时间】:2016-06-05 09:54:25
【问题描述】:
干杯,
最近我一直在尝试 Spark,到目前为止,我观察到了非常有趣的结果,但目前我遇到了著名的 groupByKey OOM 问题。基本上它的工作是尝试在大型数据集中搜索测量值连续增加至少 N 次的时期。我设法通过将结果写入磁盘来解决这个问题,但应用程序现在运行速度要慢得多(这是由于磁盘 IO 而导致的)。现在的问题是:是否有任何其他内存有效策略,我可以运行排序数据并检查相邻值(对于同一个键)是否在至少 N 个连续观察中增加,而无需重复使用 groupByKey 方法?
我已经设计了一种算法来使用reduceByKey,但是有一个问题,reduce 似乎忽略了数据排序并在最后喊出完全错误的结果。
任何想法表示赞赏,谢谢。
【问题讨论】:
-
如何表达订单?或者换句话说,是什么让值相邻?
-
@zero323 数据由变量名、时间戳和测量值组成。时间戳是我对数据进行排序的字段。变量名是关键。
标签: java apache-spark reduce