【问题标题】:Processing big data on distributed system在分布式系统上处理大数据
【发布时间】:2021-05-25 16:47:02
【问题描述】:

我在一次采访中被要求解决这个问题:
假设有 400 万个 cmets,每个 cmets 都有自己的 id 和时间戳。设计一个有效的算法来找到最近的 1000 个 cmets。你有 40 台服务器,每台服务器一次可以处理 10000 个 cmets。
我正在考虑使用 MapReduce。如何实现 map 和 reduce 功能来解决这个问题?

【问题讨论】:

    标签: hadoop mapreduce bigdata gfs


    【解决方案1】:

    由于问题特别询问了高效算法,我怀疑面试官不太关心 MapReduce 等技术,而是更关心您将使用的底层算法。这似乎是合并排序的一个应用程序。在这种情况下,您会将工作负载划分为 10K 块,分配每个块以在节点上排序并合并。完成后,您应该将所有 400 万个条目按日期排序,然后您可以获取最近的 1000 个条目。该算法将在 O(n log n) 中运行

    【讨论】:

      猜你喜欢
      • 2010-10-04
      • 1970-01-01
      • 1970-01-01
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-26
      相关资源
      最近更新 更多