📜  MapReduce 如何处理数据查询?

📅  最后修改于: 2021-10-27 06:52:16             🧑  作者: Mango

MapReduce 所采用的方法似乎是一种野兽般的力量方法。原因是整个数据集——或者它的一部分——可以为每个查询准备。不管怎样,这就是它的能力。 MapReduce 是一个批处理查询处理器,对整个数据集运行专门指定的查询并在合理的时间内获得结果的能力是变革性的。它改变了您考虑信息的方式并打开最近归档在磁带或圆上的信息。它为个人提供了推进信息的机会。

以前甚至考虑得到答复花费太长时间的查询现在可以得到答复,这提示了新的查询和新的知识点。例如,Rackspace 的邮件部门 Mailtrust 利用 Hadoop 准备电子邮件日志。他们编写的一项特别指定的调查是确定客户的地理分布。

按批次

MapReduce 的每一个特性,通常都是一个批处理系统,不适合智能调查。无法运行查询并在几秒钟或更短的时间内获得结果。查询通常需要几分钟或更长时间,因此最好用于断开连接的使用,在这种情况下,肯定不会有人坐在准备圈中等待结果。尽管如此,由于其独特的表现形式,Hadoop 已经超越了集群准备。
可以肯定的是,“Hadoop”一词现在一再被用来暗示更大的生物任务系统,而不仅仅是 HDFS 和 MapReduce,它们属于传播注册和大规模信息准备基础的保护伞。其中许多是由Apache 软件基金会推动的,该基金会为开源编程企业网络提供帮助,包括第一个以它的名字命名的 HTTP 服务器。
提供在线访问的主要部分是HBase ,这是一个使用 HDFS 进行基本存储的关键存储库。 HBase 提供对单个列的在线读取/组合访问和用于大量阅读和组合信息的组活动,使其成为结构应用程序的一个很好的答案。 Hadoop 中新准备模型的真正授权代理是 Hadoop 2 中YARN (代表Yet Another Resource Negotiator )的呈现。YARN 是董事会框架的一堆资产,它允许任何传播的程序(不仅仅是 MapReduce)继续运行Hadoop 组中的信息。

使用 Hadoop 的不同处理模式

  • 交互式 SQL
    通过放弃 MapReduce 并使用分散的问题引擎,该引擎“依赖于”守护进程(如 Impala)或持有者重用(如Tez上的Hive ),可以想象在 Hadoop 上完成对 SQL 问题的低空闲反应,同时尚未扩展到巨大的数据集大小。
  • 流处理
    像 Storm、Spark Streaming 或 Samza 这样的溢出框架可以想象在无限的信息激增上运行实时、循环计算并将结果排放到 Hadoop 存储或外部框架。
  • 迭代处理
    许多计算(例如 AI 中的计算)本质上是迭代的,因此将每个中间工作集保存在内存中明显更有效,这与在每个重点上从盘子中堆叠形成对比。 MapReduce 的设计不允许这样做,但是,例如,它直接与 Spark 一起使用,并且它赋予了处理数据集的深刻探索性风格。
  • 搜索
    Solr搜索阶段可以在 Hadoop 组上继续运行,在记录添加到 HDFS 时对其进行排序,并从 HDFS 中存放的记录中提供搜索问题。

尽管在 Hadoop 上出现了各种准备系统,但 MapReduce 仍然有助于了解它的功能,因为它提出了一些更广泛应用的想法(例如信息位置,或数据集如何分解) .