gpt4 book ai didi

performance - 如何使用hadoop mapreduce比较两个大型数据集?

转载 作者:行者123 更新时间:2023-12-02 22:08:11 27 4
gpt4 key购买 nike

我是hadoop和mapreduce的新手。我们有一个普通的Java应用程序,在其中我们从hadoop文件系统中读取了一个文件(大小为8 GB),并对这些数据应用了一些规则。应用规则后,我们得到Java哈希图(大小很大),并将该数据保留在缓存或缓冲区中。同时,我们通过对hive进行查询来从hive中获取数据,并准备一个Java哈希图,该哈希图的大小仍然很大。现在,我们比较这两个哈希图数据以准备最终报告以检查数据的准确性。

在上面的过程中,由于我们使用普通的Java程序来完成工作,因此我们面临以下问题。

  • 要处理这些巨大的数据,需要很长时间才能完成工作。由于输入文件中包含数千万条记录,因此我们需要在每一行上应用规则以提取数据。完成工作需要几天的时间。同时,配置单元还包含相同数量的数据,查询花费太多时间从配置单元返回数据。
  • 由于我们将数据保留在缓冲区中,因此我们面临内存问题。

  • 现在,我们尝试在hadoop mapreduce中实现相同的功能。
  • 实现以上方案的最佳方法是什么?
  • 在mapreduce中实现上述方案的最佳方法是什么?
  • 如何使用mapreduce提高应用程序性能?
  • 最佳答案

    8 GB是一个很小的数据集。我可以将其中4个“数据集”放入我的笔记本电脑RAM中!只需将其倾倒在任何关系引擎中,然后对其进行适当按摩,直到奶牛回家。这不是“大数据”。

    作为记录,在Hive中处理两个真正的大型数据集(例如每个+1 TB)的方法是排序合并存储桶联接(又名SMB联接)。阅读LanguageManual JoinOptimization,观看Join Strategies in Hive

    关于performance - 如何使用hadoop mapreduce比较两个大型数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22759775/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com