mapReduce和顺序方法

时间:2013-10-23 17:42:59

标签: hadoop mapreduce

我对如何在hadoop中检索数据感到困惑。

  1. mapReduce是否意味着从hadoop集群(HDFS)检索数据,或者仅限于聚合。

  2. Hadoop支持顺序搜索,而不是我们如何并行地说hadoop流程数据,在遍历每个节点时搜索与处理有何不同?

  3. 纠正我如果我错了: 是按顺序读取每个节点的块,但是在群集中并行处理许多节点。我的意思是两个作业在两个不同的节点上并行运行,每个作业同时对每个节点的所有相关块进行顺序搜索。 例如:节点1:块A.块B,块C.             节点2:块D,块E,块F. 我的假设:              块A->块B-> C座|| D座,E座,F座

  4. 其中 - >顺序       ||是平行的。

    1. 假设我想搜索过去两年中从公司获得最大利益(现金)的四名员工中的一名员工。如何在这里进行搜索和检索。

1 个答案:

答案 0 :(得分:1)

  1. MapReduce作业可以从HDFS读取数据。其他数据来源也是可能的。

  2. 请查看MapReduce tutorial并分析地图缩减工作流程。

  3. 它严格依赖于输入数据大小和将在给定节点上并行运行的可用工作人员数量(map / reduce任务)。如果每个节点有3个工作程序,则可以并行处理所有三个块(分别为A,B,C和D,E,F)。块本身的数据从磁盘顺序读取。

  4. 就示例而言,您的方法可能类似于以下内容:

    • map任务:处理所有员工并在单个数据块中计算员工之间的本地最大收益并输出此最大值(即成对[local_max_benefits, employee_id]
    • reduce task:迭代map任务中的局部最大值,并将全局最大值计算为[local_max_benefits, {employee_id1, ..., employee_idN}]