开发者社区> 问答> 正文

什么是Mapreduce相当于Spark中的top()函数?

我正在尝试为Mapreduce实现找到spark中的等效解决方案top()和take()函数。我想提取前k个值,而不保存整个键,值对。

展开
收起
flink小助手 2018-12-13 11:22:05 1553 0
1 条回答
写回答
取消 提交回答
  • flink小助手会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关flink的问题及回答。

    没有直接的等价物。如果你需要在没有Spark的情况下做类似的事情,我通常会使用Pig

    它至少需要两个map缩减阶段。一个用于处理数据,另一个用于收集实际需要的数据

    在映射器中,设置null writable(或某个单值键),然后发出所有值,将它们强制为单个reducer。

    在reducer中,您将要排序或发出的所有值收集到有限大小的集合中。我建议使用TreeMap或Binary Heap,因为它们会自动排序。然后,循环遍历该集合的大小以获取K值

    2019-07-17 23:20:24
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载